<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4501301894962219185</id><updated>2026-07-17T10:54:05.291-07:00</updated><category term="hibernate"/><category term="integration"/><category term="jsf"/><category term="spring"/><category term="ant"/><category term="soa11g"/><category term="add-on"/><category term="build"/><category term="composite"/><category term="correlation sets"/><category term="deploy"/><category term="firefox"/><category term="firefox thunderbird backup mozilla netscape restore"/><category term="java"/><category term="jdeveloper"/><category term="mobile"/><category term="oracle"/><category term="server"/><category term="spoof"/><title type='text'>Cool stuff in Tech world</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://harishkv.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://harishkv.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Harish</name><uri>http://www.blogger.com/profile/01835033223294203928</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4501301894962219185.post-1644390288862171553</id><published>2013-06-08T12:09:00.002-07:00</published><updated>2013-06-08T12:09:49.149-07:00</updated><title type='text'>Maven package all jar dependencies into one jar</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Many times you would have wanted to combine your main class code along with all dependent project jars into single jar which helps in easy distribution of your project. You can acheive the same using below maven plugin.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;build&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&amp;lt;plugins&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&amp;lt;plugin&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&amp;lt;artifactId&amp;gt;maven-assembly-plugin&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;&amp;lt;archive&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;&amp;lt;manifest&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;       &lt;/span&gt;&amp;lt;mainClass&amp;gt;com.yatra.solrtcperformance.poc.TestTCPOC&amp;lt;/mainClass&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;&amp;lt;/manifest&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;&amp;lt;/archive&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;&amp;lt;descriptorRefs&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;&amp;lt;descriptorRef&amp;gt;jar-with-dependencies&amp;lt;/descriptorRef&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;&amp;lt;/descriptorRefs&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&amp;lt;/plugin&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&amp;lt;/plugins&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;/build&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To generate the assembled jar, execute below command&lt;br /&gt;
&lt;div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;mvn assembly:assembly -DdescriptorId=jar-with-dependencies&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
If you want to do this as part of regular maven package command, then include below execution tag after configuration tag &amp;nbsp;in above pom&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&amp;nbsp; &amp;lt;executions&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;execution&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;id&amp;gt;make-assembly&amp;lt;/id&amp;gt; &amp;lt;!-- this is used for inheritance merges --&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;phase&amp;gt;package&amp;lt;/phase&amp;gt; &amp;lt;!-- bind to the packaging phase --&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;goals&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;goal&amp;gt;single&amp;lt;/goal&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/goals&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/execution&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/executions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Courtesy :&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven&quot;&gt;http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://harishkv.blogspot.com/feeds/1644390288862171553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://harishkv.blogspot.com/2013/06/maven-package-all-jar-dependencies-into.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/1644390288862171553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/1644390288862171553'/><link rel='alternate' type='text/html' href='http://harishkv.blogspot.com/2013/06/maven-package-all-jar-dependencies-into.html' title='Maven package all jar dependencies into one jar'/><author><name>Harish</name><uri>http://www.blogger.com/profile/01835033223294203928</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501301894962219185.post-5355493872417926994</id><published>2012-09-14T20:59:00.002-07:00</published><updated>2013-05-16T03:07:39.373-07:00</updated><title type='text'>Linux/Unix commands and utils</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div&gt;
I will be putting all the simple unix helpful commands and utils over here.&amp;nbsp;Starting with only couple of commands.&amp;nbsp;Will be updating this on regular basis.&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;b&gt;Calculating frequency of data in UNIX&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Calculating frequency of some data in a plain text file. For example if the file has data in each line like as in this file. Then program should print frequency of numbers as output as given in this file.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;awk &#39;{x[$1] += 1}END{ for (entry in x) {print entry &quot;-&quot; x[entry]} }&#39; 1.txt&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Note that this can be applied to applied to any&amp;nbsp;arbitrary&amp;nbsp;pipe output also by appropriately select the data column number ($1 or $2 etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;b&gt;Get range of lines from a file or output&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;The below command prints 2nd to 5th line of 1.txt file&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;awk &#39;NR&amp;gt;=2 &amp;amp;&amp;amp; NR&amp;lt;=5 {print $1}&#39; 1.txt&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;b&gt;To know your IP from unix command line&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&amp;nbsp;wget -qO- icanhazip.com&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://harishkv.blogspot.com/feeds/5355493872417926994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://harishkv.blogspot.com/2012/09/linuxunix-commands-and-utils.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/5355493872417926994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/5355493872417926994'/><link rel='alternate' type='text/html' href='http://harishkv.blogspot.com/2012/09/linuxunix-commands-and-utils.html' title='Linux/Unix commands and utils'/><author><name>Harish</name><uri>http://www.blogger.com/profile/01835033223294203928</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501301894962219185.post-4292114366630549160</id><published>2012-09-01T16:34:00.000-07:00</published><updated>2012-09-01T16:34:31.954-07:00</updated><title type='text'>Configure WPA wireless network interface in ubuntu through command line</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
We will go through steps to configure wireless network interface having WPA security through command line in ubuntu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Ensure that wpa_supplicant package is installed. If not try to get it by running&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp; sudo apt-get install wpasupplicant&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Open your /etc/networking/interfaces (with sudo) file and add below two lines&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;ul&gt;auto wlan0&lt;/ul&gt;
&lt;ul&gt;iface wlan0 inet dhcp&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;reboot the system (Dont worry if the startup says all network are not started. We will set it up)&lt;/li&gt;
&lt;li&gt;Now type &quot;wpa_supplicant -h&quot; to get list of driver names. Observe the section &quot;drivers:&quot; in the output. Watch out for driver text like &quot;Linux Wireless extension&quot;. Generally it is &lt;b&gt;wext&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Now we will create a configuration file for wpa. Create one in /etc/wpa_supplicant.conf with below content&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;ul&gt;&lt;br /&gt;&lt;/ul&gt;
&lt;ul&gt;ctrl_interface=/var/run/wpa_supplicant&lt;/ul&gt;
&lt;ul&gt;eapol_version=1&lt;/ul&gt;
&lt;ul&gt;ap_scan=1&lt;/ul&gt;
&lt;ul&gt;fast_reauth=1&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Now we will generate the text required for the WPA authentication. Type below command where NetworkSSID is your wireless network name&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;wpa_passphrase &quot;NetworkSSID&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Enter your WPA passphrase when it prompts&lt;/li&gt;
&lt;li&gt;Now it will generate a ouput similar to below&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;ul&gt;&lt;br /&gt;&lt;/ul&gt;
&lt;ul&gt;network={&lt;/ul&gt;
&lt;ul&gt;ssid=&quot;NetworkSSID&quot;&lt;/ul&gt;
&lt;ul&gt;#psk=&quot;YOUR_PSK&quot;&lt;/ul&gt;
&lt;ul&gt;psk=lklksdjflwejroi209429083lkdfjlskdfjslkdfjlk&lt;/ul&gt;
&lt;ul&gt;}&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Copy the above text to the end of /etc/wpa_supplicant.conf and also add scan_ssid, proto &amp;amp; key_mgmt keys as below (#psk can be removed as it&#39;s just a comment)&lt;/li&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;ul&gt;network={&lt;/ul&gt;
&lt;ul&gt;ssid=&quot;NetworkSSID&quot;&lt;/ul&gt;
&lt;ul&gt;scan_ssid=1&lt;/ul&gt;
&lt;ul&gt;prot=WPAi&lt;/ul&gt;
&lt;ul&gt;key_mgmt=WPA-PSK&lt;/ul&gt;
&lt;ul&gt;psk=lklksdjflwejroi209429083lkdfjlskdfjslkdfjlk&lt;/ul&gt;
&lt;ul&gt;}&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;li&gt;Now type below command to test all the configurations done till now. In below command wlan0 is the &amp;nbsp;interface name we defined in /etc/networking/interfaces and wext is your wireless driver name&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp; sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dwext&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;You should see below text in output&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;WPA: Key negotiation completed with&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;The above output confirms that all steps are correct till now&lt;/li&gt;
&lt;li&gt;Now we just need to tell ubuntu to use this wpa_supplicant configuration for this particular wireless device. For that, add two lines in /etc/networking/interfaces immediately after (iface wlan0 inet dhc) line which we added in the beginning. So it would look like (combined)&lt;/li&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;ul&gt;auto wlan0&lt;/ul&gt;
&lt;ul&gt;iface wlan0 inet dhcp&lt;/ul&gt;
&lt;ul&gt;wpa-driver wext&lt;/ul&gt;
&lt;ul&gt;wpa-conf /etc/wpa_supplicant.conf&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;li&gt;Reboot the system&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
That&#39;s it. Now you should be able to access wifi from your ubuntu machine&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://harishkv.blogspot.com/feeds/4292114366630549160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://harishkv.blogspot.com/2012/09/configure-wpa-wireless-network.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/4292114366630549160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/4292114366630549160'/><link rel='alternate' type='text/html' href='http://harishkv.blogspot.com/2012/09/configure-wpa-wireless-network.html' title='Configure WPA wireless network interface in ubuntu through command line'/><author><name>Harish</name><uri>http://www.blogger.com/profile/01835033223294203928</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501301894962219185.post-3756720570447107430</id><published>2010-11-08T04:50:00.000-08:00</published><updated>2010-11-08T19:34:57.049-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="add-on"/><category scheme="http://www.blogger.com/atom/ns#" term="firefox"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile"/><category scheme="http://www.blogger.com/atom/ns#" term="server"/><category scheme="http://www.blogger.com/atom/ns#" term="spoof"/><title type='text'>Spoofing server that your browsing from mobile</title><content type='html'>Many websites prepare special trimmed down websites for mobile clients. Only functionally relevant content is displayed in these trimmed down pages. So if bandwidth is precious for you OR if you just want to get your things done quickly, you can use &lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/59/&quot;&gt;User Agent Switcher&lt;/a&gt; firefox add-on where you can set that you are browsing from mobile&lt;br /&gt;&lt;br /&gt;Steps&lt;br /&gt;======&lt;br /&gt;After installing the addon, go to Tools -&gt; Default User Agent -&gt; Select any agent name which belongs to mobile.. like IPhone 3.0&lt;br /&gt;Now go ahead and browse any site which has custom pages for mobile. You will observe that only trimmed down content is being displayed.&lt;br /&gt;&lt;br /&gt;Test 1&lt;br /&gt;======&lt;br /&gt;Open gmail.com in firefox browser without activating the above add-on. You will see below page&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5-vqSY3rkN6uyKadu_iqz3h7hKTGM1otw7La0t6Zo_SLhAvfzqyjIo8N1QUQa00rIDLDVGp3Z1e3ek_quctQ5aY8EQ11l-8aSmfSggVhRMpug9lflSKrjZ8bKIycNl7iWTrvCw3EFtFgY/s1600/Gmail_PC_Version.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5-vqSY3rkN6uyKadu_iqz3h7hKTGM1otw7La0t6Zo_SLhAvfzqyjIo8N1QUQa00rIDLDVGp3Z1e3ek_quctQ5aY8EQ11l-8aSmfSggVhRMpug9lflSKrjZ8bKIycNl7iWTrvCw3EFtFgY/s400/Gmail_PC_Version.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5537168471576690178&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;but once you use the above IPhone agent, it will display the below trimmed down page in firefox browser&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglOIZLUwVrxxKUNGmGaB9LgiYludh7NJTksu2ES2jVMJD3o4tsDSbtb4tzieNLU_tsqdidax41KDM9kSkJhJCfX7gB8OmsRjkOyHW9aaWc_94rcbxzLdtfQWin0Ymtp3ghJnRIoGf8gJDd/s1600/Gmail_Mobile_Version.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 271px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglOIZLUwVrxxKUNGmGaB9LgiYludh7NJTksu2ES2jVMJD3o4tsDSbtb4tzieNLU_tsqdidax41KDM9kSkJhJCfX7gB8OmsRjkOyHW9aaWc_94rcbxzLdtfQWin0Ymtp3ghJnRIoGf8gJDd/s400/Gmail_Mobile_Version.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5537168856433882114&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Test2&lt;br /&gt;=====&lt;br /&gt;If you make a google search in firefox without the addon, it will display the results along with Google Ads. But if you use the above add-on with IPhone as user agent, it will only display search results in firefox (WITHOUT Google ads)&lt;br /&gt;&lt;br /&gt;Technicality&lt;br /&gt;============&lt;br /&gt;The server identifies the client based on User-Agent HTTP request header. So this add-on just replaces the header value from firefox to any selected value.&lt;br /&gt;&lt;br /&gt;Custom Mobile Headers&lt;br /&gt;=====================&lt;br /&gt;You can also use any custom header. To add a custom header, Tools -&gt; Default User Agent -&gt; Edit User Agents -&gt; New. You can get list of all user agent headers from &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_user_agents_for_mobile_phones&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Please note that the above content is provided only for information purpose.</content><link rel='replies' type='application/atom+xml' href='http://harishkv.blogspot.com/feeds/3756720570447107430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://harishkv.blogspot.com/2010/11/spoofing-server-that-your-browsing-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/3756720570447107430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/3756720570447107430'/><link rel='alternate' type='text/html' href='http://harishkv.blogspot.com/2010/11/spoofing-server-that-your-browsing-from.html' title='Spoofing server that your browsing from mobile'/><author><name>Harish</name><uri>http://www.blogger.com/profile/01835033223294203928</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5-vqSY3rkN6uyKadu_iqz3h7hKTGM1otw7La0t6Zo_SLhAvfzqyjIo8N1QUQa00rIDLDVGp3Z1e3ek_quctQ5aY8EQ11l-8aSmfSggVhRMpug9lflSKrjZ8bKIycNl7iWTrvCw3EFtFgY/s72-c/Gmail_PC_Version.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501301894962219185.post-8108228449736076076</id><published>2010-06-25T03:17:00.000-07:00</published><updated>2010-11-08T19:33:01.086-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ant"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><title type='text'>Invoke ANT targets programmatically using java</title><content type='html'>You can invoke ant targets programmatically with java using below code. You need to be sure that the jar files inside ANT_HOME\lib are included in project.&lt;br /&gt;&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java:collapse&quot;&gt;&lt;br /&gt;import java.io.File;&lt;br /&gt;&lt;br /&gt;import org.apache.tools.ant.Project;&lt;br /&gt;import org.apache.tools.ant.ProjectHelper;&lt;br /&gt;&lt;br /&gt;public class Test {   &lt;br /&gt;    public static void runAnt(){&lt;br /&gt;        File buildFile = new File(&quot;build.xml&quot;);&lt;br /&gt;        if(!buildFile.exists()){&lt;br /&gt;            System.out.println(&quot;ERROR :: File &quot;+buildFile.getAbsolutePath()+&quot; does not exist&quot;);&lt;br /&gt;        }            &lt;br /&gt;        Project p = new Project();&lt;br /&gt;        p.setUserProperty(&quot;ant.file&quot;, buildFile.getAbsolutePath());&lt;br /&gt;        p.init();&lt;br /&gt;        ProjectHelper helper = ProjectHelper.getProjectHelper();&lt;br /&gt;        p.addReference(&quot;ant.projectHelper&quot;, helper);&lt;br /&gt;        helper.parse(p, buildFile);&lt;br /&gt;        p.executeTarget(p.getDefaultTarget());&lt;br /&gt;    }    &lt;br /&gt;    public static void main(String... args){&lt;br /&gt;        runAnt();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://harishkv.blogspot.com/feeds/8108228449736076076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://harishkv.blogspot.com/2010/06/run-ant-from-java.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/8108228449736076076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/8108228449736076076'/><link rel='alternate' type='text/html' href='http://harishkv.blogspot.com/2010/06/run-ant-from-java.html' title='Invoke ANT targets programmatically using java'/><author><name>Harish</name><uri>http://www.blogger.com/profile/01835033223294203928</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501301894962219185.post-37352584708829752</id><published>2010-06-23T03:26:00.000-07:00</published><updated>2010-11-08T19:15:32.246-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ant"/><category scheme="http://www.blogger.com/atom/ns#" term="build"/><category scheme="http://www.blogger.com/atom/ns#" term="composite"/><category scheme="http://www.blogger.com/atom/ns#" term="deploy"/><category scheme="http://www.blogger.com/atom/ns#" term="soa11g"/><title type='text'>Build and Deploy SOA Composites using ANT targets</title><content type='html'>The steps to build and deploy a SOA composite using an ANT target of build.xml is demonstrated in the current post.&lt;br /&gt;&lt;br /&gt;Steps&lt;br /&gt;=====&lt;br /&gt;1. Download &lt;a href=&quot;http://craty.0fees.net/antsoadeployment/build.properties&quot;&gt;build.properties&lt;/a&gt; and &lt;a href=&quot;http://craty.0fees.net/antsoadeployment/build.xml&quot;&gt;build.xml&lt;/a&gt;.&lt;br /&gt;2. Place the above two files inside build or deploy folder of the composite project. i.e. if HelloWorldProject is the directory of the composite project, then these files should be located inside HelloWorldProject/build or HelloWorldProject/deploy &lt;br /&gt;3. Change the property values of build.properties file as per your scenario. The documentation above each property should be self explanatory. &lt;br /&gt;4. Ensure that you have ANT has been installed and paths have been property set in environment. You can find more details of installing ANT &lt;a href=&quot;http://ant.apache.org/manual/install.html&quot;&gt;here&lt;/a&gt;&lt;br /&gt;5. Now open the command promt and change to the directory where the above two downloaded files have been placed.&lt;br /&gt;6. Use the three targets defined in build.xml as explained below ::&lt;br /&gt;- If you require only to build the composite SAR, then type &quot;ant compile-package&quot; &lt;br /&gt;- If you already have the jar and want to deploy onto SOA server, then type &quot;ant deploy&quot; &lt;br /&gt;- If you want to both build and deploy, then type &quot;ant buildAndDeploy&quot; or just typing ant should suffice as buildAndDeploy has been given as the default target in build.xml</content><link rel='replies' type='application/atom+xml' href='http://harishkv.blogspot.com/feeds/37352584708829752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://harishkv.blogspot.com/2010/06/build-and-deploy-soa-composites-using.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/37352584708829752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/37352584708829752'/><link rel='alternate' type='text/html' href='http://harishkv.blogspot.com/2010/06/build-and-deploy-soa-composites-using.html' title='Build and Deploy SOA Composites using ANT targets'/><author><name>Harish</name><uri>http://www.blogger.com/profile/01835033223294203928</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501301894962219185.post-8051403969623361040</id><published>2010-04-26T22:52:00.000-07:00</published><updated>2010-04-30T00:09:25.952-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="correlation sets"/><category scheme="http://www.blogger.com/atom/ns#" term="jdeveloper"/><category scheme="http://www.blogger.com/atom/ns#" term="oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="soa11g"/><title type='text'>Correlation Sets tutorial in SOA 11g using Oracle JDeveloper</title><content type='html'>Usage of Co-relations sets in SOA 11g has been demonstrated in this blog. Correlation sets are typically used when you need to contact with an already running BPEL instance.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Sample use case of co-relation sets ::&lt;/span&gt;&lt;br /&gt;In our current application we need to expose a BPEL service which will take Employee ID as input and asynchronsoulsy calls back another method returning the Name of the given Employee ID.&lt;br /&gt;&lt;br /&gt;Now once it receives the Employee ID, it waits on an receive activity to receive the Employee name for the given employee ID. Through a separate service call, we will provide the details of Employee name for the given employee id to the above BPEL instance. Once the BPEL instance receives the name, it proceeds further and callsback the method to return the employee name.&lt;br /&gt;&lt;br /&gt;Here the correlation sets are required because when the second service is invoked to provide the details of the employee name, it needs to know to which BPEL instance the details should be provided. This is tracked internally using the correlation sets by setting EmployeeID as the property in the correlation set.&lt;br /&gt;&lt;br /&gt;The series of images below demonstrate the development of this sample applicaiton. The completed sample of this tutorial is available &lt;a href=&quot;http://craty.0fees.net/soa/correlation/CorrelationDempApp.zip&quot;&gt;here&lt;/a&gt;. All the below images are annotated with proper explanation. So the slides are self explanatory.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Slide Show :: &lt;/span&gt;&lt;br /&gt;You can access the slide show of images &lt;a href=&quot;http://picasaweb.google.com/kvharish.iitkgp/CoolStuffInTechWorld?authkey=Gv1sRgCObyy-T409b4Gg#slideshow/5464695335245634466&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;!--a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYnXZzGty1z1qrJXmRZ2E8x80SEyNfVwkNqMqTwi_B1ZCcK5OQa8zfVeG0yEZAjsafH7wceIUpfQ3KF7oetQXSIv1eUqgia-fDARQhp4ZirwdFncS2YKnh63LkxSGX9NdE7jfRdDZx54TD/s1600/Export001.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYnXZzGty1z1qrJXmRZ2E8x80SEyNfVwkNqMqTwi_B1ZCcK5OQa8zfVeG0yEZAjsafH7wceIUpfQ3KF7oetQXSIv1eUqgia-fDARQhp4ZirwdFncS2YKnh63LkxSGX9NdE7jfRdDZx54TD/s400/Export001.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464695335245634466&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQSvl0fb0kFzlJYhyphenhyphenNx5H8OtbfVMM4r25oB1vi5wK8hnZ0NqiYnbG4xTE0eLCOde-Npmota2Fp4wePnblS2SLnN4S4R49T-EvBxfYma11GPQWyapKfH4Qv1gSf6JK26FDHoHs0_7nk1W2a/s1600/Export002.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQSvl0fb0kFzlJYhyphenhyphenNx5H8OtbfVMM4r25oB1vi5wK8hnZ0NqiYnbG4xTE0eLCOde-Npmota2Fp4wePnblS2SLnN4S4R49T-EvBxfYma11GPQWyapKfH4Qv1gSf6JK26FDHoHs0_7nk1W2a/s400/Export002.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464695343445602162&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpBrTMmpAw7yXWX8q-eTsoRWWesrLsBd4nzMrcm4GIT4Pus910XomLBzwe0Zjxl3bT7bQERXux8PveWstNI44yWaI6AfBBh8UKZTPU3qXXXhdQUDhJe6A6YuWszdpQU1hUk3dcLL6mSQh4/s1600/Export003.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpBrTMmpAw7yXWX8q-eTsoRWWesrLsBd4nzMrcm4GIT4Pus910XomLBzwe0Zjxl3bT7bQERXux8PveWstNI44yWaI6AfBBh8UKZTPU3qXXXhdQUDhJe6A6YuWszdpQU1hUk3dcLL6mSQh4/s400/Export003.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464695350342314562&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUx7OFcBlLdIB6eyfPN-I4YPEpseiN9nT_7buIr31cLQJwOKekT-PrplQMcSoNFTLqpDdpwX1MlxJV3559C3eCsw3TUgkBoJf3UQT0KIC1094e2jeWjV85J7Wvg0225HHQDNZ4rOA9N8ON/s1600/Export004.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUx7OFcBlLdIB6eyfPN-I4YPEpseiN9nT_7buIr31cLQJwOKekT-PrplQMcSoNFTLqpDdpwX1MlxJV3559C3eCsw3TUgkBoJf3UQT0KIC1094e2jeWjV85J7Wvg0225HHQDNZ4rOA9N8ON/s400/Export004.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464695356215092770&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyQ9sdCBL9bW2IztDik3pSk8-nDp6ZRqpkIuVw_BnXpBLUvRNjlvDCHKSlISBbXz4Yh6dsLBuKLVNo5GE95KfpxVYLWoqHFxKOflLf93lbwgM1QsgTNKJWXRNTLcw3k95ZKy3bjKvRDsOa/s1600/Export005.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyQ9sdCBL9bW2IztDik3pSk8-nDp6ZRqpkIuVw_BnXpBLUvRNjlvDCHKSlISBbXz4Yh6dsLBuKLVNo5GE95KfpxVYLWoqHFxKOflLf93lbwgM1QsgTNKJWXRNTLcw3k95ZKy3bjKvRDsOa/s400/Export005.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464695362779692946&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9iWgUPxb9hyj0rQS8W7ff7Ol6j-3i4p8Z3OZnejsjgos1BGVX8YRPzxMp26Q1Fc31ic4drdTNfzKxdRDhheEOOxHsrJ7vzHNIopZz81OW2t5ACfTneWl55T_70w9MgIQ8OIYth3H9VYJq/s1600/Export006.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9iWgUPxb9hyj0rQS8W7ff7Ol6j-3i4p8Z3OZnejsjgos1BGVX8YRPzxMp26Q1Fc31ic4drdTNfzKxdRDhheEOOxHsrJ7vzHNIopZz81OW2t5ACfTneWl55T_70w9MgIQ8OIYth3H9VYJq/s400/Export006.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464696468393689538&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhedxj9OMeL5dAgGIIUjrPpk9Q1wLgMScOktPREARwCO5N2kmmkMjdWZydsPVn_9zWN-E8bBg_5BtjfI9EK57dtM7PRFPcCyxZl80FB0aSxUPyz5inFEvbVcQmEHG5d4OpKUItHoYBH6_xD/s1600/Export007.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhedxj9OMeL5dAgGIIUjrPpk9Q1wLgMScOktPREARwCO5N2kmmkMjdWZydsPVn_9zWN-E8bBg_5BtjfI9EK57dtM7PRFPcCyxZl80FB0aSxUPyz5inFEvbVcQmEHG5d4OpKUItHoYBH6_xD/s400/Export007.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464696464598918242&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlqBulrzVuIGh4OOnJusY0W5kvBj_XLDvcvY0fkWGzW6iWy6Kja1Qxe0MXCUSyQ-U_pqO0n50POvfID5rdaOnPUsM_CfzqZgyCP2ylN1QRo3NIJbw7hpeAdbK7bBW5Sp6BIdQGDGkbj01w/s1600/Export008.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlqBulrzVuIGh4OOnJusY0W5kvBj_XLDvcvY0fkWGzW6iWy6Kja1Qxe0MXCUSyQ-U_pqO0n50POvfID5rdaOnPUsM_CfzqZgyCP2ylN1QRo3NIJbw7hpeAdbK7bBW5Sp6BIdQGDGkbj01w/s400/Export008.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464696459664019090&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_lTgna8o64EXKU-MlGoq0rQGEEZhyphenhyphenLOOREBDHHAAuL3phLBVECwX4PfI8fc6fJtf0JuFYmSeVtroB81WgcfiD1Q5wEDe3OXhfvWLfuBNe88XG4ikv_sBYSURjXcsnCpf4568Cu0OKNQAU/s1600/Export009.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_lTgna8o64EXKU-MlGoq0rQGEEZhyphenhyphenLOOREBDHHAAuL3phLBVECwX4PfI8fc6fJtf0JuFYmSeVtroB81WgcfiD1Q5wEDe3OXhfvWLfuBNe88XG4ikv_sBYSURjXcsnCpf4568Cu0OKNQAU/s400/Export009.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464696451798416322&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlOCo-vsGWiY2qoH9Anxtkkc3YCbnH73ASmizWytUmrgbYjBHQqtQqkjyRxYAaH9OIWGwwJ4auM9L8ddIIFonOOZZdfGF1syeCmi0uCF694Cv827I6niqp75_3yilOyTBbuWITPq48a5FV/s1600/Export010.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlOCo-vsGWiY2qoH9Anxtkkc3YCbnH73ASmizWytUmrgbYjBHQqtQqkjyRxYAaH9OIWGwwJ4auM9L8ddIIFonOOZZdfGF1syeCmi0uCF694Cv827I6niqp75_3yilOyTBbuWITPq48a5FV/s400/Export010.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464696448891710658&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOgWwtrmAdM9Jzyz0VYjK9v73UOJz_O0XpPL7o-OjflhfIvYDMAmwQ2_Oj95Hzf7Tkcrxyc1InELyUeUnWKyxg8DoaIAnjYWVsV5KcqseLDcI2VqMQdr52X51vqKQ0ooSRh-GKpceufrvC/s1600/Export011.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOgWwtrmAdM9Jzyz0VYjK9v73UOJz_O0XpPL7o-OjflhfIvYDMAmwQ2_Oj95Hzf7Tkcrxyc1InELyUeUnWKyxg8DoaIAnjYWVsV5KcqseLDcI2VqMQdr52X51vqKQ0ooSRh-GKpceufrvC/s400/Export011.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464702407837195474&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir414GAPJQHlbPjYbxzq9G_Fz-78tQ1QUJ2Q6zevATQD-vEMc5KK1ewa7_0WPbNxR2jR-1QLyMmznJXFG8UrdmfNa8HJLwRSFbeoYeRaMdPeHEMVAvWN86JHLfueiICYUAtjXN3_IdUiBS/s1600/Export012.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir414GAPJQHlbPjYbxzq9G_Fz-78tQ1QUJ2Q6zevATQD-vEMc5KK1ewa7_0WPbNxR2jR-1QLyMmznJXFG8UrdmfNa8HJLwRSFbeoYeRaMdPeHEMVAvWN86JHLfueiICYUAtjXN3_IdUiBS/s400/Export012.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464702397952734034&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLQvPDFxKAU3CXIZ61TMo02uz_e67zp0NOPfkfbNWJr0SGGca5RbCzR3mOdjP-WWtaiCUFz0mUSDUKWgxvxXB_bXnVF4nYkpjLiHOPGfuA5bcGNp3VD9wYzAKODPf292VYcLjmcUCQXmez/s1600/Export013.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLQvPDFxKAU3CXIZ61TMo02uz_e67zp0NOPfkfbNWJr0SGGca5RbCzR3mOdjP-WWtaiCUFz0mUSDUKWgxvxXB_bXnVF4nYkpjLiHOPGfuA5bcGNp3VD9wYzAKODPf292VYcLjmcUCQXmez/s400/Export013.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464702392906580690&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3TsV3jROtzJeIJurdMnqHz7JwaTzemdEDoNhtohyZu4nHngI_W4VSR_6GxVWxBeTYRwhFQRapauWVoSSkVAL-LXGtjuSzzq-qUxSo7EXuIXWJQrKN0APEMS-_kR2-mdbutUfDZrwqthay/s1600/Export014.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3TsV3jROtzJeIJurdMnqHz7JwaTzemdEDoNhtohyZu4nHngI_W4VSR_6GxVWxBeTYRwhFQRapauWVoSSkVAL-LXGtjuSzzq-qUxSo7EXuIXWJQrKN0APEMS-_kR2-mdbutUfDZrwqthay/s400/Export014.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464702386333786034&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPzezFDzS4_df5uH7XnlrWFUJ37dMgheA_rxwsq_bNP65SEPATAflpQnAKidSYNTzxU2Nz_vmFU23o2stgbXiTTohnChtgjUhOcxhHD24U6vln95QlEYdTDvHlMnP-91MEgX3MvJPVYxaF/s1600/Export015.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPzezFDzS4_df5uH7XnlrWFUJ37dMgheA_rxwsq_bNP65SEPATAflpQnAKidSYNTzxU2Nz_vmFU23o2stgbXiTTohnChtgjUhOcxhHD24U6vln95QlEYdTDvHlMnP-91MEgX3MvJPVYxaF/s400/Export015.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464702378656084994&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU5jXje03duwj0QeaRLB8x6W5xeaPDQ0S0wYu7UYY7nUwLP1MPuTEWZQwjmDuKRioMwiYmqxz9qolt6c84Ci-ldoPwOCCEoJAvg3MfIi7meTN1LaIUVaqgSEzNG83ewm7Sj0L420Z314Vt/s1600/Export016.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU5jXje03duwj0QeaRLB8x6W5xeaPDQ0S0wYu7UYY7nUwLP1MPuTEWZQwjmDuKRioMwiYmqxz9qolt6c84Ci-ldoPwOCCEoJAvg3MfIi7meTN1LaIUVaqgSEzNG83ewm7Sj0L420Z314Vt/s400/Export016.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701914495686386&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiObjDljA8tyg1dR73upcYxRdAHmdvmkVfHXjEx7K3Im9w7RY0x38V4dJ8XPdqtCGRwc6ytOY2hoqd6YcHtaE7ImcqYHrd6mNG7bipPJQxv6eO_oOcfCBnJkz8Y_0cSSv78OS8nuOCM3GKV/s1600/Export017.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiObjDljA8tyg1dR73upcYxRdAHmdvmkVfHXjEx7K3Im9w7RY0x38V4dJ8XPdqtCGRwc6ytOY2hoqd6YcHtaE7ImcqYHrd6mNG7bipPJQxv6eO_oOcfCBnJkz8Y_0cSSv78OS8nuOCM3GKV/s400/Export017.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701911128878754&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7chmlR_AzRQXrgS-Td3NNzDecLcddL41W2xxwLh1esPEoIPDPDmJdnelXAaHT8AC6MYNBTHQ-OfpTcVkNOuq42vEq7PwbOxc7xxsL3lgI_mxiPaUn5JWOl-8eJdCkUKPweosSeLK9Z3NZ/s1600/Export018.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7chmlR_AzRQXrgS-Td3NNzDecLcddL41W2xxwLh1esPEoIPDPDmJdnelXAaHT8AC6MYNBTHQ-OfpTcVkNOuq42vEq7PwbOxc7xxsL3lgI_mxiPaUn5JWOl-8eJdCkUKPweosSeLK9Z3NZ/s400/Export018.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701904729551234&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk5x_JwLup0P6U-I2XlSf7CxK7swRCWysbvRECnd24U947tnXqxozusdKLpddLIIij58vr5W0rYwj8c2ozsTAwH7wkXo8Ysh0L9FHBpl61gBq2p1vhtsjmu92GdTArBvMbFkuaAb48L-oH/s1600/Export019.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk5x_JwLup0P6U-I2XlSf7CxK7swRCWysbvRECnd24U947tnXqxozusdKLpddLIIij58vr5W0rYwj8c2ozsTAwH7wkXo8Ysh0L9FHBpl61gBq2p1vhtsjmu92GdTArBvMbFkuaAb48L-oH/s400/Export019.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701893092308562&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJIlmPhFIhjAtHmXveMU1PqqYZXVrw53hvlqveRdsexgeAiat5Q8wbdJEnZTo_Vb9Tbbl-s1K_JKbwmJo9-lILZxswYmum-5Wt9sU4m3ybPwRXosS_s3kUIxcEn372dE3FqyVodbth2zBg/s1600/Export020.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJIlmPhFIhjAtHmXveMU1PqqYZXVrw53hvlqveRdsexgeAiat5Q8wbdJEnZTo_Vb9Tbbl-s1K_JKbwmJo9-lILZxswYmum-5Wt9sU4m3ybPwRXosS_s3kUIxcEn372dE3FqyVodbth2zBg/s400/Export020.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701889141510770&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht8tN5ryY81e53sU64nA_pJYUGc6Y-k9uTlbIDv2v2Q9Bg4oYF5F_BcMcPr3mkHRFdCRrdQmdOCrpOi6FgoEdlz5ZOJ1TTJDxnuCGnvqZcKMagRrJPxXFRUq9xPoC2fCWFYOjtoac66o8m/s1600/Export021.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht8tN5ryY81e53sU64nA_pJYUGc6Y-k9uTlbIDv2v2Q9Bg4oYF5F_BcMcPr3mkHRFdCRrdQmdOCrpOi6FgoEdlz5ZOJ1TTJDxnuCGnvqZcKMagRrJPxXFRUq9xPoC2fCWFYOjtoac66o8m/s400/Export021.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701555222785970&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirh54hzbYElbKI6SS9Fz_Exdanl566UirfUsYr-YkFeMPIr3E2tEwamhoYcNLMoiQwBMN6mFjgPcRrVfC__wwFPA7MTkVf9065UvEiOAwu-5JrgeV7H_U6472a4WSezg1_SGcUl5P-ipnh/s1600/Export022.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirh54hzbYElbKI6SS9Fz_Exdanl566UirfUsYr-YkFeMPIr3E2tEwamhoYcNLMoiQwBMN6mFjgPcRrVfC__wwFPA7MTkVf9065UvEiOAwu-5JrgeV7H_U6472a4WSezg1_SGcUl5P-ipnh/s400/Export022.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701546783176978&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh36XHquT5GUYVHXa8j-vuv4xIEptSi2gfxotuwDd2bf9xNFRvRFSQntgSRIlpEbgzrjJ14iehmWylNRPBRwXrkJjO2H9z8f_dXozRfTPFR3CGSA4ulkno6sDPREZIgN8aY8TSRO-BfryF3/s1600/Export023.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh36XHquT5GUYVHXa8j-vuv4xIEptSi2gfxotuwDd2bf9xNFRvRFSQntgSRIlpEbgzrjJ14iehmWylNRPBRwXrkJjO2H9z8f_dXozRfTPFR3CGSA4ulkno6sDPREZIgN8aY8TSRO-BfryF3/s400/Export023.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701538859375570&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs2-GsBocE3vrLuZMNnI9Ye7JPsq6DHDuggK25jnzhG25yOyt4vgXzr_HmIOXNnNGlQmiu_3r4es-TJpPJg38Ro4SvRUFINVmjyUMrceAqhzwfDuzflDQ1fPl9NHIQptXvVeLZ-VYAdIIX/s1600/Export024.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs2-GsBocE3vrLuZMNnI9Ye7JPsq6DHDuggK25jnzhG25yOyt4vgXzr_HmIOXNnNGlQmiu_3r4es-TJpPJg38Ro4SvRUFINVmjyUMrceAqhzwfDuzflDQ1fPl9NHIQptXvVeLZ-VYAdIIX/s400/Export024.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701531890576194&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg75ZqJkZ43qTg9AS9-rB8okVelpEdhbSNVM3_OuZzkPcqrnuOh-_UZkyvEjvCMd-qUlaVndxRx_8NtSXmqwm2KacqQHpDZwGtJC_Cbt3Igllvthyphenhypheny9azD6r0prnNd56NBi8GEsPcdAdiQh/s1600/Export025.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg75ZqJkZ43qTg9AS9-rB8okVelpEdhbSNVM3_OuZzkPcqrnuOh-_UZkyvEjvCMd-qUlaVndxRx_8NtSXmqwm2KacqQHpDZwGtJC_Cbt3Igllvthyphenhypheny9azD6r0prnNd56NBi8GEsPcdAdiQh/s400/Export025.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701525393576482&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ-_sY9b_VOjssCLT1-2YIIR0rwhzcIFVt1BxBcsjUUSn1yqrDvCMEVkllkRDew6z2UTrFUMHv7ER1WslmZvsqqsASmvQq29ODdOc6olPzdCQJASCb3Gf8vWpEqnbF8DdWVp9Q4H-Pd0ld/s1600/Export026.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ-_sY9b_VOjssCLT1-2YIIR0rwhzcIFVt1BxBcsjUUSn1yqrDvCMEVkllkRDew6z2UTrFUMHv7ER1WslmZvsqqsASmvQq29ODdOc6olPzdCQJASCb3Gf8vWpEqnbF8DdWVp9Q4H-Pd0ld/s400/Export026.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701214693316418&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4NgFVEzhFZ7huMCHTpiN41u0I-kPXxpFlFVkHNtb4kjb0qIuoM7JE9nJcIevWRoAL3w35YyFzCVbAKNEdrFjao_dPcj2fnBSWrE3GIHGPxrlvtc1E3V3bcw2Y2Qz-U2DQcmQ-ubRyKRG3/s1600/Export027.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4NgFVEzhFZ7huMCHTpiN41u0I-kPXxpFlFVkHNtb4kjb0qIuoM7JE9nJcIevWRoAL3w35YyFzCVbAKNEdrFjao_dPcj2fnBSWrE3GIHGPxrlvtc1E3V3bcw2Y2Qz-U2DQcmQ-ubRyKRG3/s400/Export027.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701208516184786&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIROFCRNnpqAHGL7ElCuGUGXQOHmbTKANZiWFKmBQ_EqPDQpbaj4i9B7qrT-hsEs4jWCSXqlZWkCZgX7CNaNr4LlWfZjk11KCPDpOIL1T_mL-XrwFh3ig1yI4IhNoN0DJ1R9PKXz9CIiAO/s1600/Export028.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIROFCRNnpqAHGL7ElCuGUGXQOHmbTKANZiWFKmBQ_EqPDQpbaj4i9B7qrT-hsEs4jWCSXqlZWkCZgX7CNaNr4LlWfZjk11KCPDpOIL1T_mL-XrwFh3ig1yI4IhNoN0DJ1R9PKXz9CIiAO/s400/Export028.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701202749681410&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiel6002yfMZ0jHOOuMu1cPP7Fhg0yaCoYs-l9qgTOyZMZxRs-ektleYSl6XvgNzakjrPJsliMmwv26dkJyV_1ug7N388TXBw2e5002UVCl5pn-62rtFJpctM0fmN7uGhL4h7jHsr7KncVM/s1600/Export029.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiel6002yfMZ0jHOOuMu1cPP7Fhg0yaCoYs-l9qgTOyZMZxRs-ektleYSl6XvgNzakjrPJsliMmwv26dkJyV_1ug7N388TXBw2e5002UVCl5pn-62rtFJpctM0fmN7uGhL4h7jHsr7KncVM/s400/Export029.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701197596869362&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9lILUKyyga-WdM6NWKEc0VQovk27E28LCguLkKGk4u5HeCR302EOUzudU3RfBQFTxmUd2HHH7lwE3clOVcUO1ntW1oQqWFX9XsVkQbhxfpannRt5vDLV877e4ixYSQlufBtO6UzcxMoVZ/s1600/Export030.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9lILUKyyga-WdM6NWKEc0VQovk27E28LCguLkKGk4u5HeCR302EOUzudU3RfBQFTxmUd2HHH7lwE3clOVcUO1ntW1oQqWFX9XsVkQbhxfpannRt5vDLV877e4ixYSQlufBtO6UzcxMoVZ/s400/Export030.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464701195203054770&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2VVBidumyUrIVNRz5RHnTl5rAhC5DQPUxBWQ8AhDwKjZqrA64Y495xBpjR_fYuksG-1aplK99cDyCvFYKew3O9cFy7wCwIAzCA3Bmxy0bugNlC_cO-olCV_196kYIGDv0Et5auENmVddX/s1600/Export031.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2VVBidumyUrIVNRz5RHnTl5rAhC5DQPUxBWQ8AhDwKjZqrA64Y495xBpjR_fYuksG-1aplK99cDyCvFYKew3O9cFy7wCwIAzCA3Bmxy0bugNlC_cO-olCV_196kYIGDv0Et5auENmVddX/s400/Export031.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464700669567927298&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1wLNjF7gxsdAI-lREae346uoUeZ5gutQNSt2ObOZBuaeHwY-2GqhNE4L-e8HNGxvZA8IrMH8l9zwV2c61eG67Runwv4PMmQ8IZIHi4ECnzxhVGVDZV7leBg0zvSt8jafaiyQtiJFd_PBj/s1600/Export032.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1wLNjF7gxsdAI-lREae346uoUeZ5gutQNSt2ObOZBuaeHwY-2GqhNE4L-e8HNGxvZA8IrMH8l9zwV2c61eG67Runwv4PMmQ8IZIHi4ECnzxhVGVDZV7leBg0zvSt8jafaiyQtiJFd_PBj/s400/Export032.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464700657323584946&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxxTJn_xa7UM14PZ1iTu2bzh3S9-tPXhMG1aAPg-ycRknFwzzZadUGnoGYy9K2xFe3m91PN2nAQajUNTWc-W4YchfogYEjeOTVLd9ZQy3iuI1wryV3nRgeCfbFRh5_Pke7n4M_stBVeiq7/s1600/Export033.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxxTJn_xa7UM14PZ1iTu2bzh3S9-tPXhMG1aAPg-ycRknFwzzZadUGnoGYy9K2xFe3m91PN2nAQajUNTWc-W4YchfogYEjeOTVLd9ZQy3iuI1wryV3nRgeCfbFRh5_Pke7n4M_stBVeiq7/s400/Export033.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464700644780548850&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhukbQbtruMJC109r6AeLwjSAAmV_DulZjUdoaAno9GOJmE9vMCmB9n6jaluiK6axbaFGloRtkoCFUJneypXoch_bkNlBJeJzkYqGvlLB7aziFYgBfQhn21s1719whSkaQtVcZJPSYPtpVl/s1600/Export034.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhukbQbtruMJC109r6AeLwjSAAmV_DulZjUdoaAno9GOJmE9vMCmB9n6jaluiK6axbaFGloRtkoCFUJneypXoch_bkNlBJeJzkYqGvlLB7aziFYgBfQhn21s1719whSkaQtVcZJPSYPtpVl/s400/Export034.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464700638468635362&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4q2NGBXJA-U82Wz0VcDAIQUWpJ_zVHrYpoXhBWtBY69dPCWo-C4Sesu86LwEZqxN39SIFuuIGGhiberMhXsL4ECgr-DPrabZTtF_Jl5LeCzU4uoK8VCqjERrp7YopjARCZ4DG4ajJ-0mW/s1600/Export035.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4q2NGBXJA-U82Wz0VcDAIQUWpJ_zVHrYpoXhBWtBY69dPCWo-C4Sesu86LwEZqxN39SIFuuIGGhiberMhXsL4ECgr-DPrabZTtF_Jl5LeCzU4uoK8VCqjERrp7YopjARCZ4DG4ajJ-0mW/s400/Export035.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464700635506058818&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilACqgHYfTIlG-MiQXUsUbOYQaVnXDrgLlMvbLttdZ3-P9HHH0WeWhjS2UdKd4ABFzCBjWefA-gYY2WIwvj8_m-YHT1tmRjnSZJ8V_CQDqBmkuKkYrvPJqZl0nnvOemeh6lrs-R9P5leFH/s1600/Export036.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilACqgHYfTIlG-MiQXUsUbOYQaVnXDrgLlMvbLttdZ3-P9HHH0WeWhjS2UdKd4ABFzCBjWefA-gYY2WIwvj8_m-YHT1tmRjnSZJ8V_CQDqBmkuKkYrvPJqZl0nnvOemeh6lrs-R9P5leFH/s400/Export036.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464699294436328466&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRMgM5Otft8WuG_WQL5Z13wDHufK10vWpHcmCr0Pcvbw8yqH6RRVmToyTWI1G-ncPjh6af8sDFFiC3NUj0Db6F2NDKMq7a4QAAbD-iJ2mfRt5sgGSQuBD4NgQ44YxjTv0XjpF68MeSdsOS/s1600/Export037.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRMgM5Otft8WuG_WQL5Z13wDHufK10vWpHcmCr0Pcvbw8yqH6RRVmToyTWI1G-ncPjh6af8sDFFiC3NUj0Db6F2NDKMq7a4QAAbD-iJ2mfRt5sgGSQuBD4NgQ44YxjTv0XjpF68MeSdsOS/s400/Export037.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464699293878980882&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuHQ90EQfltvVYy4JnTZwAg83CQgky4HzFiyummhRRkUWWUg9tf04k78CK1Hd7EW6QfGKR1p9jgjq699LMmpb5Hn5UieXK1ht1SYPzG6UsDHUSwWOYo0tYxVAQJILOybEyGUFIJjybbZbF/s1600/Export038.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuHQ90EQfltvVYy4JnTZwAg83CQgky4HzFiyummhRRkUWWUg9tf04k78CK1Hd7EW6QfGKR1p9jgjq699LMmpb5Hn5UieXK1ht1SYPzG6UsDHUSwWOYo0tYxVAQJILOybEyGUFIJjybbZbF/s400/Export038.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464699285630236178&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH47xHCIzU08lp_uC72UlBqdlpSDnfDzUzrsRh9AoyWdt9b72wGj9jbADi7iBt8RaKUXIQaUqFIyO1FH0K0W0tGOuMIssRnfw2WH1Ve12XNDg565SUh-6h6mCXpPhnAwddrtFx3D9YMto1/s1600/Export039.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH47xHCIzU08lp_uC72UlBqdlpSDnfDzUzrsRh9AoyWdt9b72wGj9jbADi7iBt8RaKUXIQaUqFIyO1FH0K0W0tGOuMIssRnfw2WH1Ve12XNDg565SUh-6h6mCXpPhnAwddrtFx3D9YMto1/s400/Export039.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464699282735279506&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1V0dZjVTP-OYpO-6-m620DH5BFf5BoOmir-qJmiobN-pTxP8GlAPi5g70-fjqyQHW2AtChvbDQspN45Ee8Zhun04jyS_onPMu4UYMTX9u2adwiZ3w0ia768RxlOCkwy0kpYNCC3bJ8TRi/s1600/Export040.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1V0dZjVTP-OYpO-6-m620DH5BFf5BoOmir-qJmiobN-pTxP8GlAPi5g70-fjqyQHW2AtChvbDQspN45Ee8Zhun04jyS_onPMu4UYMTX9u2adwiZ3w0ia768RxlOCkwy0kpYNCC3bJ8TRi/s400/Export040.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464699276715493762&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvXAdkT_Otjn4CyABFtZNZNhwjyIjxjMcShxDwaVWHv3VvwVVrd_NkXA16EWw7Azv3Kp2quuw4iwnfHJnjraE7S0ICfy5LOml02sJqH9VPlcSIlr5hal3UQDcTH21SwvSoPSwlfQNdAIpD/s1600/Export041.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvXAdkT_Otjn4CyABFtZNZNhwjyIjxjMcShxDwaVWHv3VvwVVrd_NkXA16EWw7Azv3Kp2quuw4iwnfHJnjraE7S0ICfy5LOml02sJqH9VPlcSIlr5hal3UQDcTH21SwvSoPSwlfQNdAIpD/s400/Export041.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464697758732920786&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdTjkDf0fPzUNX9gI4Zx1SYt43ChkW-AOmSz-2ehXcDRZHV1b1Et-K3OZd6kjy5yZG7DONcmQ8QsSNptajCyJNWr1ih8wJeTinFClQV9ueA_K5hqAiC-vpZEr1jc9xLVvnfKP3RLzWvvU1/s1600/Export042.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdTjkDf0fPzUNX9gI4Zx1SYt43ChkW-AOmSz-2ehXcDRZHV1b1Et-K3OZd6kjy5yZG7DONcmQ8QsSNptajCyJNWr1ih8wJeTinFClQV9ueA_K5hqAiC-vpZEr1jc9xLVvnfKP3RLzWvvU1/s400/Export042.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464697751468578178&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim-W0en2hSE5vQhpfpq45lJ86qn7SWt0sl0q1hbeVWnAwCvapzvqNfA9aMeaHDR8p_930vSY1hguMJ4X3X5CrwY7vEeIRep4UslvmhsyywTUcg-yMrYkvZtBATcKKYUdpPnRj4jr1-3jnS/s1600/Export043.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim-W0en2hSE5vQhpfpq45lJ86qn7SWt0sl0q1hbeVWnAwCvapzvqNfA9aMeaHDR8p_930vSY1hguMJ4X3X5CrwY7vEeIRep4UslvmhsyywTUcg-yMrYkvZtBATcKKYUdpPnRj4jr1-3jnS/s400/Export043.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464697743766508770&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhftjctgrc3siV0vs9qJS7BndyaCoegvTeQLjfxSKCehaxukWvstoep28wPIQLk_dMSuYh-4eRIOPKb61FRmdhB67_o2btOOTWpn5WHLu1xpvfKM54ggSg10F-cr0xeOcpXmC9kLtrzDdts/s1600/Export044.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhftjctgrc3siV0vs9qJS7BndyaCoegvTeQLjfxSKCehaxukWvstoep28wPIQLk_dMSuYh-4eRIOPKb61FRmdhB67_o2btOOTWpn5WHLu1xpvfKM54ggSg10F-cr0xeOcpXmC9kLtrzDdts/s400/Export044.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464697742334168594&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf8RqyCzlXmq3oUDcXjxAXa4EtiJeAQY0Gj-7BSqllbaK-1jAKByjqCL0GblMdfoYH1kwJMgpfepxXk-DJIfBLwVs4v6SGJ5y-km3wiGzJRZqeJCjGixtpJV4vM-B_erUmD1COmxSfsan_/s1600/Export045.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf8RqyCzlXmq3oUDcXjxAXa4EtiJeAQY0Gj-7BSqllbaK-1jAKByjqCL0GblMdfoYH1kwJMgpfepxXk-DJIfBLwVs4v6SGJ5y-km3wiGzJRZqeJCjGixtpJV4vM-B_erUmD1COmxSfsan_/s400/Export045.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464697736445122338&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz_rgCMPcIXjBLbZYh0eBQ3qLJO5OynxwBprk82q_dksm4r97ZnZn1S-6CEd7fHQCm9hfR3ckGhkgpkAAYTDmUoAlTc1QrfQhv2GiHoasJ7_1syFelCVnlb6bVSLa5UOQ2gp_1s2x9LFcS/s1600/Export046.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz_rgCMPcIXjBLbZYh0eBQ3qLJO5OynxwBprk82q_dksm4r97ZnZn1S-6CEd7fHQCm9hfR3ckGhkgpkAAYTDmUoAlTc1QrfQhv2GiHoasJ7_1syFelCVnlb6bVSLa5UOQ2gp_1s2x9LFcS/s400/Export046.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464697251659609906&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh-9aXMulbNTeswU8D_CfD6rWbuNtskxXz3lL6tg606bWMpw0iWkOArY8YyY8AA6_2ABrl8-bbQgPFXVb7WkqpdwBqPBenBvqkol_m6iSwehu2D3i7UwC17o6SqltVLhZjNLtHOqLuJYTx/s1600/Export047.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh-9aXMulbNTeswU8D_CfD6rWbuNtskxXz3lL6tg606bWMpw0iWkOArY8YyY8AA6_2ABrl8-bbQgPFXVb7WkqpdwBqPBenBvqkol_m6iSwehu2D3i7UwC17o6SqltVLhZjNLtHOqLuJYTx/s400/Export047.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464697243244383890&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm2XuHb_aCTCqd9nfZmotD6tC6Klw6bhgdJPH9WZzvTwNHTBxDMDo_2jo1uerCxgeNIZort5vNCRfx6oU3HD1d981TdgDFKRGu0t6zVD7bHTSJVKjc5t2wl3xq4AQGIlR45t7Q2iJN00fU/s1600/Export048.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm2XuHb_aCTCqd9nfZmotD6tC6Klw6bhgdJPH9WZzvTwNHTBxDMDo_2jo1uerCxgeNIZort5vNCRfx6oU3HD1d981TdgDFKRGu0t6zVD7bHTSJVKjc5t2wl3xq4AQGIlR45t7Q2iJN00fU/s400/Export048.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464697235243031618&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3VB4bUgIehuKxJ83LhV3RIjXLBOsqGsyO_2gnqboth1OepUaKD7cVHYJoZMBjeROmb5yNPkha8FoJ3Rijpi99kxvfb-nIKRDDj5AaGdhj2Cca_NKQ6SULSrM9ipsMLTgtunnmCp_eq6pr/s1600/Export049.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3VB4bUgIehuKxJ83LhV3RIjXLBOsqGsyO_2gnqboth1OepUaKD7cVHYJoZMBjeROmb5yNPkha8FoJ3Rijpi99kxvfb-nIKRDDj5AaGdhj2Cca_NKQ6SULSrM9ipsMLTgtunnmCp_eq6pr/s400/Export049.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464697224019119602&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKbKHThKcEvYm0_1E84ZvBGPFhlCq54-BAIT5cekHXpTZOnbfkr1GruDxsrS9kpNZYc8g3Ouvocz54DgOiAChpjQfWQFcaTEGPse48CDaWMTA6xwVqcuiE2uaumBjB6FOlvmWWPAuJ46TP/s1600/Export050.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKbKHThKcEvYm0_1E84ZvBGPFhlCq54-BAIT5cekHXpTZOnbfkr1GruDxsrS9kpNZYc8g3Ouvocz54DgOiAChpjQfWQFcaTEGPse48CDaWMTA6xwVqcuiE2uaumBjB6FOlvmWWPAuJ46TP/s400/Export050.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464697221924040418&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidrtjbOI6N3TkPSbhhCMIV2eomeCwC6zPQBiSld4wVHZ0JztJN__ab2_9lEiDHdMqBukx1ou5KJxPrj2d8wikE2MJ4Xw3lxgWwqgiG2L9G2qYyGwHK6dIpdNWDD4H04m7kErL8s0-ZgrIx/s1600/Export051.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidrtjbOI6N3TkPSbhhCMIV2eomeCwC6zPQBiSld4wVHZ0JztJN__ab2_9lEiDHdMqBukx1ou5KJxPrj2d8wikE2MJ4Xw3lxgWwqgiG2L9G2qYyGwHK6dIpdNWDD4H04m7kErL8s0-ZgrIx/s400/Export051.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464696985074594498&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUOd7sOSd1aBuTTrlsuqBLRXYlzBKEm7As5-iuh9rf2n0ZiOw6OhqOAkiAHBMwxymwEWcdi-cebPKkWPZzDsN1Ub-a2E0hAcQ0spbAB-DYfS_5XUqLFABT-hW5oioOhLj4tmX01bEwbmpY/s1600/Export052.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUOd7sOSd1aBuTTrlsuqBLRXYlzBKEm7As5-iuh9rf2n0ZiOw6OhqOAkiAHBMwxymwEWcdi-cebPKkWPZzDsN1Ub-a2E0hAcQ0spbAB-DYfS_5XUqLFABT-hW5oioOhLj4tmX01bEwbmpY/s400/Export052.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464696983251839986&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpfyD0mQsCt9zA1PvrijHYXemc9WRjDQFsT69lKdRWZl_wMMW_cQJ29l2BgG7CnsHR5uZDe_WjAP0KNfJURnbRd5TW2BFw2h8dBDqRn1PEjRYjXdIwV15ckeKg1AiI6L54VV_ZjrntAnZc/s1600/Export053.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpfyD0mQsCt9zA1PvrijHYXemc9WRjDQFsT69lKdRWZl_wMMW_cQJ29l2BgG7CnsHR5uZDe_WjAP0KNfJURnbRd5TW2BFw2h8dBDqRn1PEjRYjXdIwV15ckeKg1AiI6L54VV_ZjrntAnZc/s400/Export053.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464696974574741906&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhakI1OH5rqvRmd1mhxe3LP25RJR2BXVyvaaDeZ5YOVGDzvctqOUX_v9LD1cg-HdA0C4ELUoqIDIpj75vceV1A2Vw6VT8S5IhBCXtjpek-VsR-kDJWiuMFp6vJ65_CXXrXIPIbtV69ey3Xt/s1600/Export054.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhakI1OH5rqvRmd1mhxe3LP25RJR2BXVyvaaDeZ5YOVGDzvctqOUX_v9LD1cg-HdA0C4ELUoqIDIpj75vceV1A2Vw6VT8S5IhBCXtjpek-VsR-kDJWiuMFp6vJ65_CXXrXIPIbtV69ey3Xt/s400/Export054.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464696968615189826&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiifDF4lYf_roCNOtAb0HZ9fvE6G-BuKNWUs-OmKkMRCmxUigxwdMNyuZqkVk8iXIXmGUhJDNSnLLQRYhB4LkfKVkGC9_Rr8qoaVML-RMLy2478Y64fA8wEjb7WzFxyASWM0vfDM4NZIuE6/s1600/Export055.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiifDF4lYf_roCNOtAb0HZ9fvE6G-BuKNWUs-OmKkMRCmxUigxwdMNyuZqkVk8iXIXmGUhJDNSnLLQRYhB4LkfKVkGC9_Rr8qoaVML-RMLy2478Y64fA8wEjb7WzFxyASWM0vfDM4NZIuE6/s400/Export055.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5464696959474398338&quot; /&gt;&lt;/a--&gt;</content><link rel='replies' type='application/atom+xml' href='http://harishkv.blogspot.com/feeds/8051403969623361040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://harishkv.blogspot.com/2010/04/correlation-sets-tutorial-in-soa-11g.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/8051403969623361040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/8051403969623361040'/><link rel='alternate' type='text/html' href='http://harishkv.blogspot.com/2010/04/correlation-sets-tutorial-in-soa-11g.html' title='Correlation Sets tutorial in SOA 11g using Oracle JDeveloper'/><author><name>Harish</name><uri>http://www.blogger.com/profile/01835033223294203928</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYnXZzGty1z1qrJXmRZ2E8x80SEyNfVwkNqMqTwi_B1ZCcK5OQa8zfVeG0yEZAjsafH7wceIUpfQ3KF7oetQXSIv1eUqgia-fDARQhp4ZirwdFncS2YKnh63LkxSGX9NdE7jfRdDZx54TD/s72-c/Export001.jpg" height="72" width="72"/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501301894962219185.post-8365111614631483107</id><published>2009-12-18T00:45:00.001-08:00</published><updated>2009-12-18T04:42:06.081-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hibernate"/><category scheme="http://www.blogger.com/atom/ns#" term="integration"/><category scheme="http://www.blogger.com/atom/ns#" term="jsf"/><category scheme="http://www.blogger.com/atom/ns#" term="spring"/><title type='text'>Spring, JSF &amp; Hibernate Integration - Part III</title><content type='html'>This tutorial mentions Step-by-Step instructions for developing Spring, JSF &amp;amp; Hibernate integrated application. It totally has three parts:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-1.html&quot;&gt;I. Creating simple Spring application&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-2.html&quot;&gt;II. Creating application involving Spring and JSF&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-3.html&quot;&gt;III. Creating application involving Spring, JSF and Hibernate&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The current tutorial deals with the &lt;span style=&quot;font-weight:bold;&quot;&gt;third part&lt;/span&gt; of creating application involving Spring, JSF &amp; Hibernate.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;The final netbeans project after completing Part III of the current tutorial has been uploaded &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part3_SpringJSFHibernate.zip&quot;&gt;here&lt;/a&gt;. &lt;/span&gt;Because of size limitations the third party jars inside the lib folder has been deleted in the uploaded zip file. &lt;br /&gt;&lt;br /&gt;Requirements :: Netbeans 6.7.1 with Java 6 installed&lt;br /&gt;&lt;br /&gt;Steps&lt;span style=&quot;font-style:italic;&quot;&gt;&lt;/span&gt;&lt;br /&gt;=====&lt;br /&gt;Ensure that you have gone through the &lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-1.html&quot;&gt;first&lt;/a&gt; and &lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-2.html&quot;&gt;second&lt;/a&gt; part of tutorial.&lt;br /&gt;&lt;br /&gt;You can continue the below steps starting with the netbeans project available &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part2_SpringJSF.zip&quot;&gt;here&lt;/a&gt; which is obtained after performing steps in &lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-2.html&quot;&gt;Part II of the tutorial&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;27. Create links database table and insert some sample records into it. The DDL for the links table is given below: -&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;&lt;br /&gt;CREATE TABLE LINKS (&lt;br /&gt;LINK_ID INT NOT NULL,&lt;br /&gt;TITLE VARCHAR(150),&lt;br /&gt;HTTP_LINK VARCHAR(100),&lt;br /&gt;DESCRIPTION VARCHAR(3000)&lt;br /&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;After table creation, insert some records into it.&lt;br /&gt;&lt;br /&gt;28. Create &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part3_SpringJSFHibernate/LinkedLinks/src/java/resources/linkedlinks.hbm.xml&quot;&gt;linkedlinks.hbm.xml&lt;/a&gt; file determining the mapping between Link POJO domain object and database table LINKS. Create a folder with name resources under the java sources root folder and place the xml file inside resources folder&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;&amp;lt;?xml version=&quot;1.0&quot;?&gt;&lt;br /&gt;&amp;lt;!DOCTYPE hibernate-mapping PUBLIC &quot;-//Hibernate/Hibernate Mapping DTD 3.0//EN&quot;&lt;br /&gt;    &quot;http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd&quot;&gt;&lt;br /&gt;&amp;lt;hibernate-mapping&gt;&lt;br /&gt;    &amp;lt;class name=&quot;com.linkedlinks.domain.Link&quot; table=&quot;LINKS&quot;&gt;&lt;br /&gt;    &amp;lt;id name=&quot;linkId&quot; column=&quot;LINK_ID&quot;&gt;&lt;br /&gt;        &amp;lt;generator class=&quot;increment&quot;/&gt;&lt;br /&gt;    &amp;lt;/id&gt;&lt;br /&gt;    &amp;lt;property name=&quot;httpLink&quot;&gt;&lt;br /&gt;        &amp;lt;column name=&quot;HTTP_LINK&quot;/&gt;&lt;br /&gt;    &amp;lt;/property&gt;&lt;br /&gt;    &amp;lt;property name=&quot;title&quot;&gt;&lt;br /&gt;        &amp;lt;column name=&quot;TITLE&quot;/&gt;&lt;br /&gt;    &amp;lt;/property&gt;&lt;br /&gt;    &amp;lt;property name=&quot;description&quot;&gt;&lt;br /&gt;        &amp;lt;column name=&quot;DESCRIPTION&quot;/&gt;&lt;br /&gt;    &amp;lt;/property&gt;&lt;br /&gt;&amp;lt;/class&gt;&lt;br /&gt;&amp;lt;/hibernate-mapping&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The generator class for linkId attribute is set as increment. This takes care of automatically populating the link id property of newly created link to next available ID.&lt;br /&gt;&lt;br /&gt;29. Create a class implementing LinkDao which uses hibernate to persist the data. Name it as &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part3_SpringJSFHibernate/LinkedLinks/src/java/com/linkedlinks/repository/HibernateLinkDao.java&quot;&gt;HibernateLinkDao.java&lt;/a&gt; under the repository package.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java:collapse&quot;&gt;&lt;br /&gt;class java&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;30. Create a property file &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part3_SpringJSFHibernate/LinkedLinks/web/WEB-INF/links.properties&quot;&gt;links.properties&lt;/a&gt; under WEB-INF folder containing details of jdbc database settings.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;&lt;br /&gt;jdbc.driverClassName=JDBC_DRIVER_QUALIFIED_CLASS_NAME&lt;br /&gt;jdbc.url=JDBC_CONNECTION_URL&lt;br /&gt;jdbc.username=USERNAME&lt;br /&gt;jdbc.password=YOUR_PASSWORD&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Ensure that you have included the jar containing the above driver class in your project libraries.&lt;br /&gt;&lt;br /&gt;31. Create bean definitions with ids propertyConfigurer and myDataSource in &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part3_SpringJSFHibernate/LinkedLinks/web/WEB-INF/applicationContext.xml&quot;&gt;applicationContext.xml&lt;/a&gt; as given below. &lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;    &amp;lt;bean id=&quot;propertyConfigurer&quot;&lt;br /&gt;          class=&quot;org.springframework.beans.factory.config.PropertyPlaceholderConfigurer&quot;&lt;br /&gt;          p:location=&quot;/WEB-INF/links.properties&quot; /&gt;    &lt;br /&gt;    &amp;lt;bean id=&quot;myDataSource&quot;&lt;br /&gt;          class=&quot;org.springframework.jdbc.datasource.DriverManagerDataSource&quot;&lt;br /&gt;          p:driverClassName=&quot;${jdbc.driverClassName}&quot;&lt;br /&gt;          p:url=&quot;${jdbc.url}&quot;&lt;br /&gt;          p:username=&quot;${jdbc.username}&quot;&lt;br /&gt;          p:password=&quot;${jdbc.password}&quot; /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;32. Define session factory and hibernate template beans in &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part3_SpringJSFHibernate/LinkedLinks/web/WEB-INF/applicationContext.xml&quot;&gt;applicationContext.xml&lt;/a&gt;&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;    &amp;lt;bean id=&quot;mySessionFactory&quot; class=&quot;org.springframework.orm.hibernate3.LocalSessionFactoryBean&quot;&gt;&lt;br /&gt;        &amp;lt;property name=&quot;dataSource&quot; ref=&quot;myDataSource&quot;/&gt;&lt;br /&gt;        &amp;lt;property name=&quot;mappingResources&quot;&gt;&lt;br /&gt;            &amp;lt;list&gt;&lt;br /&gt;                &amp;lt;value&gt;./resources/linkedlinks.hbm.xml&amp;lt;/value&gt;&lt;br /&gt;            &amp;lt;/list&gt;&lt;br /&gt;        &amp;lt;/property&gt;&lt;br /&gt;        &amp;lt;property name=&quot;hibernateProperties&quot;&gt;&lt;br /&gt;            &amp;lt;value&gt;hibernate.dialect=org.hibernate.dialect.HSQLDialect&amp;lt;/value&gt;&lt;br /&gt;        &amp;lt;/property&gt;&lt;br /&gt;    &amp;lt;/bean&gt;&lt;br /&gt;    &amp;lt;bean id=&quot;hibernateTemplate&quot; class=&quot;org.springframework.orm.hibernate3.HibernateTemplate&quot;&gt;&lt;br /&gt;        &amp;lt;property name=&quot;sessionFactory&quot;&gt;&lt;br /&gt;            &amp;lt;ref bean=&quot;mySessionFactory&quot;/&gt;&lt;br /&gt;        &amp;lt;/property&gt;&lt;br /&gt;    &amp;lt;/bean&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;33. Create a new bean definition on HibernateLinkDao class in &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part3_SpringJSFHibernate/LinkedLinks/web/WEB-INF/applicationContext.xml&quot;&gt;applicationContext.xml&lt;/a&gt; file. Also set the previously defined hibernateTemplate bean as the value of hibernateTemplate property of this bean. Change the linkDao property reference bean value of myService bean from linkDao to myHibenrateLinkDao. Now the service uses the hibernate dao class instead of SimulateDao class.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;    &amp;lt;bean id=&quot;myHibernateLinkDao&quot; class=&quot;com.linkedlinks.repository.HibernateLinkDao&quot;&gt;&lt;br /&gt;        &amp;lt;property name=&quot;hibernateTemplate&quot;&gt;&lt;br /&gt;            &amp;lt;ref bean=&quot;hibernateTemplate&quot; /&gt;&lt;br /&gt;        &amp;lt;/property&gt;&lt;br /&gt;    &amp;lt;/bean&gt;&lt;br /&gt;    &amp;lt;bean id=&quot;myService&quot; class=&quot;com.linkedlinks.service.LinksServiceImpl&quot;&gt;&lt;br /&gt;        &amp;lt;property name=&quot;linkDao&quot;&gt;&lt;br /&gt;            &amp;lt;ref bean=&quot;myHibernateLinkDao&quot; /&gt;&lt;br /&gt;        &amp;lt;/property&gt;&lt;br /&gt;    &amp;lt;/bean&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;34. Run createlink.jsp and pages will be displayed accordingly. The data will be retreived from database tables and any new link creations will be persisted in the DB.&lt;br /&gt;&lt;br /&gt;This completes the tutorial of integrating Spring, JSF &amp; Hibernate technologies.</content><link rel='replies' type='application/atom+xml' href='http://harishkv.blogspot.com/feeds/8365111614631483107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/8365111614631483107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/8365111614631483107'/><link rel='alternate' type='text/html' href='http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-3.html' title='Spring, JSF &amp; Hibernate Integration - Part III'/><author><name>Harish</name><uri>http://www.blogger.com/profile/01835033223294203928</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501301894962219185.post-715007248012941234</id><published>2009-12-17T23:20:00.001-08:00</published><updated>2009-12-18T00:41:30.013-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hibernate"/><category scheme="http://www.blogger.com/atom/ns#" term="integration"/><category scheme="http://www.blogger.com/atom/ns#" term="jsf"/><category scheme="http://www.blogger.com/atom/ns#" term="spring"/><title type='text'>Spring, JSF &amp; Hibernate Integration - Part II</title><content type='html'>This tutorial mentions Step-by-Step instructions for developing Spring, JSF &amp;amp; Hibernate integrated application. It totally has three parts:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-1.html&quot;&gt;I. Creating simple Spring application&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-2.html&quot;&gt;II. Creating application involving Spring and JSF&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-3.html&quot;&gt;III. Creating application involving Spring, JSF and Hibernate&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The current tutorial deals with the &lt;span style=&quot;font-weight:bold;&quot;&gt;second part&lt;/span&gt; of creating application having Spring and JSF.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;The final netbeans project after completing Part II of the current tutorial has been uploaded &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part2_SpringJsf.zip&quot;&gt;here&lt;/a&gt;. &lt;/span&gt;Because of size limitations the third party jars inside the lib folder has been deleted in the uploaded zip file. &lt;br /&gt;&lt;br /&gt;Requirements :: Netbeans 6.7.1 with Java 6 installed&lt;br /&gt;&lt;br /&gt;Steps&lt;br /&gt;=====&lt;br /&gt;Ensure that you have gone through the first part of tutorial &lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-1.html&quot;&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;You can continue the below steps starting with the netbeans project available &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part1_Spring.zip&quot;&gt;here&lt;/a&gt; which is obtained after performing steps in &lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-1.html&quot;&gt;Part I of the tutorial&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;14. Create a &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part2_SpringJSF/LinkedLinks/src/java/com/linkedlinks/bean/LinkBean.java&quot;&gt;LinkBean.java&lt;/a&gt; class which is used to maintain components state in JSF UI components. It accesses LinksService implementation class for business functions.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java:collapse&quot;&gt;&lt;br /&gt;package com.linkedlinks.bean;&lt;br /&gt;&lt;br /&gt;import com.linkedlinks.domain.Link;&lt;br /&gt;import com.linkedlinks.service.LinksService;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author harish&lt;br /&gt; */&lt;br /&gt;public class LinkBean {&lt;br /&gt;    private LinksService linksService;&lt;br /&gt;    private String title;&lt;br /&gt;    private String httpLink;&lt;br /&gt;    private String description;&lt;br /&gt;&lt;br /&gt;    public Long getTotalLinksCount(){&lt;br /&gt;        return linksService.getTotalLinksCount();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String createLink(){&lt;br /&gt;        linksService.createLink(title, httpLink,description);&lt;br /&gt;        return &quot;createLinkSuccess&quot;;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public List&amp;lt;Link&gt; getLinksList() {&lt;br /&gt;        List&amp;lt;Link&gt; list = linksService.getLinks();&lt;br /&gt;        return list;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void saveLink(Link link){&lt;br /&gt;        linksService.updateLink(link);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setLinksService(LinksService linksService) {&lt;br /&gt;        this.linksService = linksService;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getTitle() {&lt;br /&gt;        return title;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setTitle(String title) {&lt;br /&gt;        this.title = title;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getHttpLink() {&lt;br /&gt;        return httpLink;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setHttpLink(String httpLink) {&lt;br /&gt;        this.httpLink = httpLink;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public String getDescription() {&lt;br /&gt;        return description;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setDescription(String description) {&lt;br /&gt;        this.description = description;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;15. Delete welcomeJSF.jsp file inside Web Pages which was auto-generated. &lt;br /&gt;&lt;br /&gt;16. Configure &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part2_SpringJSF/LinkedLinks/web/WEB-INF/faces-config.xml&quot;&gt;faces-config.xml&lt;/a&gt; such that it tells JSF to pick up managed bean definitions from spring beans definition file. For that add the below entry to faces-config.xml&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;    &amp;lt;application&gt;&lt;br /&gt;        &amp;lt;variable-resolver&gt;&lt;br /&gt;        org.springframework.web.jsf.DelegatingVariableResolver&lt;br /&gt;        &amp;lt;/variable-resolver&gt;&lt;br /&gt;    &amp;lt;/application&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;17. Define bean definition for LinkBean.java class in applicationContext.xml so that the JSF can access it. Add below entry to &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part2_SpringJSF/LinkedLinks/web/WEB-INF/applicationContext.xml&quot;&gt;applicationContext.xml&lt;/a&gt;&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;    &amp;lt;bean id=&quot;myBean&quot; class=&quot;com.linkedlinks.bean.LinkBean&quot;&gt;&lt;br /&gt;        &amp;lt;property name=&quot;linksService&quot;&gt;&lt;br /&gt;            &amp;lt;ref bean=&quot;myService&quot; /&gt;&lt;br /&gt;        &amp;lt;/property&gt;&lt;br /&gt;    &amp;lt;/bean&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;18. Add below entry of RequestContextListener to &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part2_SpringJSF/LinkedLinks/web/WEB-INF/web.xml&quot;&gt;web.xml&lt;/a&gt; so that spring can understand the meaning of request scope in the bean definition.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;&amp;lt;listener&gt;        &amp;lt;listener-class&gt;org.springframework.web.context.request.RequestContextListener&amp;lt;/listener-class&gt;&lt;br /&gt;&amp;lt;/listener&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;19. Set the scope as request for myBean definition in &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part2_SpringJSF/LinkedLinks/web/WEB-INF/applicationContext.xml&quot;&gt;applicationContext.xml&lt;/a&gt;&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;    &amp;lt;bean id=&quot;myBean&quot; class=&quot;com.linkedlinks.bean.LinkBean&quot; scope=&quot;request&quot;&gt;&lt;br /&gt;        &amp;lt;property name=&quot;linksService&quot;&gt;&lt;br /&gt;            &amp;lt;ref bean=&quot;myService&quot; /&gt;&lt;br /&gt;        &amp;lt;/property&gt;&lt;br /&gt;    &amp;lt;/bean&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;20. Create a jsf page - &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part2_SpringJSF/LinkedLinks/web/page/linkslist.jsp&quot;&gt;linkslist.jsp&lt;/a&gt; inside page folder under Web Pages to list all the links using dataTable jsf UI component.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;html:collapse&quot;&gt;&lt;br /&gt;&amp;lt;%@page contentType=&quot;text/html&quot; pageEncoding=&quot;UTF-8&quot;%&gt;&lt;br /&gt;&amp;lt;%@taglib prefix=&quot;f&quot; uri=&quot;http://java.sun.com/jsf/core&quot;%&gt;&lt;br /&gt;&amp;lt;%@taglib prefix=&quot;h&quot; uri=&quot;http://java.sun.com/jsf/html&quot;%&gt;&lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;&lt;br /&gt;&amp;lt;f:view&gt;&lt;br /&gt;    &amp;lt;html&gt;&lt;br /&gt;        &amp;lt;head&gt;&lt;br /&gt;            &amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;/&gt;&lt;br /&gt;            &amp;lt;title&gt;JSP Page&amp;lt;/title&gt;&lt;br /&gt;        &amp;lt;/head&gt;&lt;br /&gt;        &amp;lt;body&gt;&lt;br /&gt;            &amp;lt;h:form id=&quot;f1&quot;&gt;&lt;br /&gt;                &amp;lt;h:commandLink value=&quot;Create Link&quot; action=&quot;createlink&quot; /&gt;&lt;br /&gt;                &amp;lt;h:dataTable width=&quot;90%&quot; id=&quot;dt1&quot; value=&quot;#{myBean.linksList}&quot; var=&quot;link&quot;&lt;br /&gt;                             border=&quot;1&quot;&gt;&lt;br /&gt;                    &amp;lt;h:column&gt;&lt;br /&gt;                        &amp;lt;f:facet name=&quot;header&quot;&gt;&amp;lt;h:outputText value=&quot;Title&quot;/&gt;&amp;lt;/f:facet&gt;&lt;br /&gt;                        &amp;lt;h:outputLink value=&quot;#{link.httpLink}&quot;&gt;&lt;br /&gt;                            &amp;lt;h:outputText value=&quot;#{link.title}&quot;/&gt;&lt;br /&gt;                        &amp;lt;/h:outputLink&gt;&lt;br /&gt;                    &amp;lt;/h:column&gt;&lt;br /&gt;                    &amp;lt;h:column&gt;&lt;br /&gt;                        &amp;lt;f:facet name=&quot;header&quot;&gt;&amp;lt;h:outputText value=&quot;Description&quot;/&gt;&amp;lt;/f:facet&gt;&lt;br /&gt;                        &amp;lt;h:outputText value=&quot;#{link.description}&quot;/&gt;&lt;br /&gt;                    &amp;lt;/h:column&gt;&lt;br /&gt;                &amp;lt;/h:dataTable&gt;&lt;br /&gt;            &amp;lt;/h:form&gt;&lt;br /&gt;        &amp;lt;/body&gt;&lt;br /&gt;    &amp;lt;/html&gt;&lt;br /&gt;&amp;lt;/f:view&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;21. Run linkslist.jsp file from netbeans. It will display a table displaying the details of the five links. This data is retreived from SimulateDao class&lt;br /&gt;&lt;br /&gt;22. Create another jsf page - &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part2_SpringJSF/LinkedLinks/web/page/createlink.jsp&quot;&gt;createlink.jsp&lt;/a&gt; having a form to create a new link. In the action attribute of commandButton, invoke the createLink method of myBean.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;html:collapse&quot;&gt;&lt;br /&gt;&amp;lt;%@page contentType=&quot;text/html&quot; pageEncoding=&quot;UTF-8&quot;%&gt;&lt;br /&gt;&amp;lt;%@taglib prefix=&quot;f&quot; uri=&quot;http://java.sun.com/jsf/core&quot;%&gt;&lt;br /&gt;&amp;lt;%@taglib prefix=&quot;h&quot; uri=&quot;http://java.sun.com/jsf/html&quot;%&gt;&lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;&lt;br /&gt;&amp;lt;f:view&gt;&lt;br /&gt;    &amp;lt;html&gt;&lt;br /&gt;        &amp;lt;head&gt;&lt;br /&gt;            &amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;/&gt;&lt;br /&gt;            &amp;lt;title&gt;Create Link Page&amp;lt;/title&gt;&lt;br /&gt;        &amp;lt;/head&gt;&lt;br /&gt;        &amp;lt;body&gt;           &lt;br /&gt;            &amp;lt;h:form&gt;&lt;br /&gt;                &amp;lt;h:commandLink value=&quot;Links list&quot; action=&quot;linkslist&quot; /&gt;&lt;br /&gt;                &amp;lt;h:panelGrid id=&quot;panel&quot; columns=&quot;2&quot; border=&quot;1&quot;&gt;&lt;br /&gt;                    &amp;lt;f:facet name=&quot;header&quot;&gt;&lt;br /&gt;                        &amp;lt;h:outputText value=&quot;Create New Link&quot;/&gt;&lt;br /&gt;                    &amp;lt;/f:facet&gt;&lt;br /&gt;                    &amp;lt;h:outputLabel for=&quot;title&quot; value=&quot;Title&quot; /&gt;&lt;br /&gt;                    &amp;lt;h:inputText id=&quot;title&quot; value=&quot;#{myBean.title}&quot; /&gt;&lt;br /&gt;                    &amp;lt;h:outputLabel for=&quot;httpLink&quot; value=&quot;Http Link&quot; /&gt;&lt;br /&gt;                    &amp;lt;h:inputText id=&quot;httpLink&quot; value=&quot;#{myBean.httpLink}&quot; /&gt;&lt;br /&gt;                    &amp;lt;h:outputLabel for=&quot;description&quot; value=&quot;Description&quot; /&gt;&lt;br /&gt;                    &amp;lt;h:inputText id=&quot;description&quot; value=&quot;#{myBean.description}&quot; /&gt;&lt;br /&gt;                    &amp;lt;f:facet name=&quot;footer&quot;&gt;&lt;br /&gt;                        &amp;lt;h:panelGroup style=&quot;display:block; text-align:center&quot;&gt;&lt;br /&gt;                            &amp;lt;h:commandButton id=&quot;submit&quot; value=&quot;Create&quot;&lt;br /&gt;                                             action=&quot;#{myBean.createLink}&quot; /&gt;&lt;br /&gt;                        &amp;lt;/h:panelGroup&gt;&lt;br /&gt;                    &amp;lt;/f:facet&gt;&lt;br /&gt;                &amp;lt;/h:panelGrid&gt;&lt;br /&gt;            &amp;lt;/h:form&gt;&lt;br /&gt;        &amp;lt;/body&gt;&lt;br /&gt;    &amp;lt;/html&gt;&lt;br /&gt;&amp;lt;/f:view&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;23. Add below navigation rule in &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part2_SpringJSF/LinkedLinks/web/WEB-INF/faces-config.xml&quot;&gt;faces-config.xml&lt;/a&gt;. It says that if we get createLinkSuccess outcome from createlink.jsp file, then navigate to linkslist.jsp page.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;&amp;lt;navigation-rule&gt;&lt;br /&gt;        &amp;lt;from-view-id&gt;/page/createlink.jsp&amp;lt;/from-view-id&gt;&lt;br /&gt;        &amp;lt;navigation-case&gt;&lt;br /&gt;            &amp;lt;from-outcome&gt;createLinkSuccess&amp;lt;/from-outcome&gt;&lt;br /&gt;            &amp;lt;to-view-id&gt;/page/linkslist.jsp&amp;lt;/to-view-id&gt;&lt;br /&gt;        &amp;lt;/navigation-case&gt;&lt;br /&gt;&amp;lt;/navigation-rule&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;24. Now when we run createlink.jsp, enter values and press Create button, it redirects to linkslist.jsp page listing the newly added link in the table.&lt;br /&gt;&lt;br /&gt;25. Similarly add links in both createlink.jsp  &amp; linkslist.jsp to navigate between these two pages.&lt;br /&gt;Add below entry above panelGrid definition in &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part2_SpringJSF/LinkedLinks/web/page/createlink.jsp&quot;&gt;createlink.jsp&lt;/a&gt;&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;&amp;lt;h:commandLink value=&quot;Links list&quot; action=&quot;linkslist&quot; /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Add below entry above dataTable definition in &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part2_SpringJSF/LinkedLinks/web/page/linkslist.jsp&quot;&gt;linkslist.jsp&lt;/a&gt;&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;&amp;lt;h:commandLink value=&quot;Create Link&quot; action=&quot;createlink&quot; /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Change the navigation rules in &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part2_SpringJSF/LinkedLinks/web/WEB-INF/faces-config.xml&quot;&gt;faces-config.xml&lt;/a&gt; as below to enable page navigation between create and list link pages.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;    &amp;lt;navigation-rule&gt;&lt;br /&gt;        &amp;lt;from-view-id&gt;/page/createlink.jsp&amp;lt;/from-view-id&gt;&lt;br /&gt;        &amp;lt;navigation-case&gt;&lt;br /&gt;            &amp;lt;from-outcome&gt;createLinkSuccess&amp;lt;/from-outcome&gt;&lt;br /&gt;            &amp;lt;to-view-id&gt;/page/linkslist.jsp&amp;lt;/to-view-id&gt;&lt;br /&gt;        &amp;lt;/navigation-case&gt;&lt;br /&gt;        &amp;lt;navigation-case&gt;&lt;br /&gt;            &amp;lt;from-outcome&gt;linkslist&amp;lt;/from-outcome&gt;&lt;br /&gt;            &amp;lt;to-view-id&gt;/page/linkslist.jsp&amp;lt;/to-view-id&gt;&lt;br /&gt;        &amp;lt;/navigation-case&gt;&lt;br /&gt;    &amp;lt;/navigation-rule&gt;&lt;br /&gt;    &amp;lt;navigation-rule&gt;&lt;br /&gt;        &amp;lt;from-view-id&gt;/page/linkslist.jsp&amp;lt;/from-view-id&gt;&lt;br /&gt;        &amp;lt;navigation-case&gt;&lt;br /&gt;            &amp;lt;from-outcome&gt;createlink&amp;lt;/from-outcome&gt;&lt;br /&gt;            &amp;lt;to-view-id&gt;/page/createlink.jsp&amp;lt;/to-view-id&gt;&lt;br /&gt;        &amp;lt;/navigation-case&gt;&lt;br /&gt;    &amp;lt;/navigation-rule&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Swith over to PageFlow view of faces-config.xml which shows the connections between create and list pages. &lt;br /&gt;&lt;br /&gt;26. Re-run createlink.jsp file and the links are displayed at top in both create and list link pages for navigation.&lt;br /&gt;&lt;br /&gt;This completes integration of JSF with Spring. To contiue further for integrating Hibernate with Spring &amp; JSF, go through part III of the tutorial &lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-3.html&quot;&gt;here&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://harishkv.blogspot.com/feeds/715007248012941234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/715007248012941234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/715007248012941234'/><link rel='alternate' type='text/html' href='http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-2.html' title='Spring, JSF &amp; Hibernate Integration - Part II'/><author><name>Harish</name><uri>http://www.blogger.com/profile/01835033223294203928</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501301894962219185.post-1730361012843158657</id><published>2009-12-16T03:39:00.000-08:00</published><updated>2009-12-18T00:41:17.371-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hibernate"/><category scheme="http://www.blogger.com/atom/ns#" term="integration"/><category scheme="http://www.blogger.com/atom/ns#" term="jsf"/><category scheme="http://www.blogger.com/atom/ns#" term="spring"/><title type='text'>Spring, JSF &amp; Hibernate Integration - Part I</title><content type='html'>This tutorial mentions Step-by-Step instructions for developing Spring, JSF &amp;amp; Hibernate integrated application. It totally has three parts:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-1.html&quot;&gt;I. Creating simple Spring application&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-2.html&quot;&gt;II. Creating application involving Spring and JSF&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-3.html&quot;&gt;III. Creating application involving Spring, JSF and Hibernate&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The current tutorial deals with the &lt;span style=&quot;font-weight:bold;&quot;&gt;first part&lt;/span&gt; of creating application having only Spring. After the application is developed, a sample console program has been created which shows the application in run.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;The final netbeans project after completing Part I of the current tutorial has been uploaded &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part1_Spring.zip&quot;&gt;here&lt;/a&gt;. &lt;/span&gt;Because of size limitations the third party jars inside the lib folder has been deleted in the uploaded zip file. &lt;br /&gt;&lt;br /&gt;Requirements :: Netbeans 6.7.1 with Java 6 installed&lt;br /&gt;&lt;br /&gt;Steps&lt;br /&gt;====&lt;br /&gt;1. Create a java web project using Java EE 5 technology with the Java Server Faces &amp;amp; Hibernate frameworks included. Spring Web MVC is not required as we will be using JSF for page navigation.&lt;br /&gt;&lt;br /&gt;2. Import and add SpringFramework 2.5 library. Spring MVC library is NOT required&lt;br /&gt;&lt;br /&gt;3. create &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part1_Spring/LinkedLinks/web/WEB-INF/applicationContext.xml&quot;&gt;applicationContext.xml&lt;/a&gt; in WEB-INF folder with following content&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml:collapse&quot;&gt;&lt;br /&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;br /&gt;&amp;lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;&lt;br /&gt;xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;br /&gt;xmlns:p=&quot;http://www.springframework.org/schema/p&quot;&lt;br /&gt;xmlns:aop=&quot;http://www.springframework.org/schema/aop&quot;&lt;br /&gt;xmlns:tx=&quot;http://www.springframework.org/schema/tx&quot;&lt;br /&gt;xsi:schemaLocation=&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&lt;br /&gt;http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd&lt;br /&gt;http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd&quot;&gt;&lt;br /&gt;&amp;lt;/beans&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;4. Delete hibernate.cfg.xml inside default source package, as we will be configuring hibernate in spring applicationContext.xml file&lt;br /&gt;&lt;br /&gt;5. Add below entries to &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part1_Spring/LinkedLinks/web/WEB-INF/web.xml&quot;&gt;web.xml&lt;/a&gt;&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml:collapse&quot;&gt;&lt;br /&gt;&amp;lt;context-param&gt;&lt;br /&gt;&amp;lt;param-name&gt;contextConfigLocation&amp;lt;/param-name&gt;&lt;br /&gt;&amp;lt;param-value&gt;/WEB-INF/applicationContext.xml&amp;lt;/param-value&gt;&lt;br /&gt;&amp;lt;/context-param&gt;&lt;br /&gt;&amp;lt;listener&gt;&lt;br /&gt;&amp;lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&amp;lt;/listener-class&gt;&lt;br /&gt;&amp;lt;/listener&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;6. Create &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part1_Spring/LinkedLinks/src/java/com/linkedlinks/domain/Link.java&quot;&gt;Link.java&lt;/a&gt; POJO in domain package with getters &amp;amp; setters for its attributes. Also override the toString() method which returns a string containing link details.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java:collapse&quot;&gt;&lt;br /&gt;package com.linkedlinks.domain;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author harish&lt;br /&gt;*/&lt;br /&gt;public class Link {&lt;br /&gt;private Long linkId;&lt;br /&gt;private String httpLink;&lt;br /&gt;private String title;&lt;br /&gt;private String description;&lt;br /&gt;&lt;br /&gt;public Link(){&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Link(String title,String httpLink,String description){&lt;br /&gt;this.title = title;&lt;br /&gt;this.httpLink = httpLink;&lt;br /&gt;this.description = description;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Link(Long id,String title,String httpLink,String description){&lt;br /&gt;this.linkId = id;&lt;br /&gt;this.title = title;&lt;br /&gt;this.httpLink = httpLink;&lt;br /&gt;this.description = description;&lt;br /&gt;}&lt;br /&gt;/**&lt;br /&gt;* @return the httpLink&lt;br /&gt;*/&lt;br /&gt;public String getHttpLink() {&lt;br /&gt;return httpLink;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @param httpLink the httpLink to set&lt;br /&gt;*/&lt;br /&gt;public void setHttpLink(String httpLink) {&lt;br /&gt;this.httpLink = httpLink;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @return the title&lt;br /&gt;*/&lt;br /&gt;public String getTitle() {&lt;br /&gt;return title;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @param title the title to set&lt;br /&gt;*/&lt;br /&gt;public void setTitle(String title) {&lt;br /&gt;this.title = title;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @return the Description&lt;br /&gt;*/&lt;br /&gt;public String getDescription() {&lt;br /&gt;return description;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @param Description the Description to set&lt;br /&gt;*/&lt;br /&gt;public void setDescription(String Description) {&lt;br /&gt;this.description = Description;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @return the linkId&lt;br /&gt;*/&lt;br /&gt;public Long getLinkId() {&lt;br /&gt;return linkId;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @param linkId the linkId to set&lt;br /&gt;*/&lt;br /&gt;public void setLinkId(Long linkId) {&lt;br /&gt;this.linkId = linkId;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String toString(){&lt;br /&gt;return linkId+&quot; &quot;+title+&quot; &quot;+httpLink+&quot; &quot;+description;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;7. Create &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part1_Spring/LinkedLinks/src/java/com/linkedlinks/repository/LinkDao.java&quot;&gt;LinkDao.java&lt;/a&gt; interface in repository package declaring required DAO methods in it.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java:collapse&quot;&gt;&lt;br /&gt;package com.linkedlinks.repository;&lt;br /&gt;&lt;br /&gt;import com.linkedlinks.domain.Link;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author harish&lt;br /&gt; */&lt;br /&gt;public interface LinkDao {&lt;br /&gt;    public List&amp;lt;Link&gt; getLinks();&lt;br /&gt;    public void addLink(Link link);&lt;br /&gt;    public void removeLink(Link link);&lt;br /&gt;    public void updateLink(Link link);&lt;br /&gt;    public Link getLink(Long linkId);&lt;br /&gt;    public Long getTotalLinksCount();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;8. Create &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part1_Spring/LinkedLinks/src/java/com/linkedlinks/repository/SimulateDao.java&quot;&gt;SimulateDao.java&lt;/a&gt; implementing LinkDao which returns a sample implementation of DAO.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java:collapse&quot;&gt;&lt;br /&gt;package com.linkedlinks.repository;&lt;br /&gt;&lt;br /&gt;import com.linkedlinks.domain.Link;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author harish&lt;br /&gt; */&lt;br /&gt;public class SimulateDao implements LinkDao {&lt;br /&gt;&lt;br /&gt;    private List&amp;lt;Link&gt; links;&lt;br /&gt;    static Long linkSequence = 6L;&lt;br /&gt;&lt;br /&gt;    public SimulateDao() {&lt;br /&gt;        links = new ArrayList&amp;lt;Link&gt;();&lt;br /&gt;        Long[] linkids = {1L, 2L, 3L, 4L, 5L};&lt;br /&gt;        String[] httpLinks = {&quot;http://link1&quot;, &quot;http://link2&quot;, &quot;http://link3&quot;, &quot;http://link4&quot;, &quot;http://link5&quot;};&lt;br /&gt;        String[] titles = {&quot;title1&quot;, &quot;title2&quot;, &quot;title3&quot;, &quot;title4&quot;, &quot;title5&quot;};&lt;br /&gt;        String[] descs = {&quot;desc1&quot;, &quot;desc2&quot;, &quot;desc3&quot;, &quot;desc4&quot;, &quot;desc5&quot;};&lt;br /&gt;        for (int i = 0; i &lt; linkids.length; i++) {&lt;br /&gt;            Link link = new Link(linkids[i], titles[i], httpLinks[i], descs[i]);&lt;br /&gt;            links.add(link);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public List&amp;lt;Link&gt; getLinks() {&lt;br /&gt;        return links;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void addLink(Link link) {&lt;br /&gt;        if (link.getLinkId() == null || link.getLinkId() == 0) {&lt;br /&gt;            link.setLinkId(linkSequence++);&lt;br /&gt;        }&lt;br /&gt;        links.add(link);&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public void removeLink(Link link) {&lt;br /&gt;        links.remove(link);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void updateLink(Link link) {&lt;br /&gt;        removeLink(link);&lt;br /&gt;        addLink(link);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Link getLink(Long linkId) {&lt;br /&gt;        for (int i = 0; i &lt; links.size(); i++) {&lt;br /&gt;            Link link = links.get(i);&lt;br /&gt;            if (linkId.equals(link.getLinkId())) {&lt;br /&gt;                return link;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Long getTotalLinksCount() {&lt;br /&gt;        return (long) links.size();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;9. Create &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part1_Spring/LinkedLinks/src/java/com/linkedlinks/service/LinksService.java&quot;&gt;LinksService.java&lt;/a&gt; interface declaring the business requirement methods.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java:collapse&quot;&gt;&lt;br /&gt;package com.linkedlinks.service;&lt;br /&gt;&lt;br /&gt;import com.linkedlinks.domain.Link;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author harish&lt;br /&gt; */&lt;br /&gt;public interface LinksService {&lt;br /&gt;    public Long getTotalLinksCount();&lt;br /&gt;    public List&amp;lt;Link&gt; getLinks();&lt;br /&gt;    public Link createLink(String title,String desc,String httpLink);&lt;br /&gt;    public void removeLink(Link link);&lt;br /&gt;    public void updateLink(Link link);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;10. Create &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part1_Spring/LinkedLinks/src/java/com/linkedlinks/service/LinksServiceImpl.java&quot;&gt;LinksServiceImpl.java&lt;/a&gt; implementing LinksService which accesses any of the DAO implementation classes for data access or storage&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java:collapse&quot;&gt;&lt;br /&gt;package com.linkedlinks.service;&lt;br /&gt;&lt;br /&gt;import com.linkedlinks.domain.Link;&lt;br /&gt;import com.linkedlinks.repository.LinkDao;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author harish&lt;br /&gt; */&lt;br /&gt;public class LinksServiceImpl implements LinksService {&lt;br /&gt;    private LinkDao linkDao;&lt;br /&gt;&lt;br /&gt;    public LinksServiceImpl(){&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void updateLink(Link link){&lt;br /&gt;        linkDao.updateLink(link);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Long getTotalLinksCount(){&lt;br /&gt;        return linkDao.getTotalLinksCount();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public List&amp;lt;Link&gt; getLinks(){&lt;br /&gt;        return linkDao.getLinks();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Link createLink(String title,String httpLink,String desc){&lt;br /&gt;        Link link = new Link(title,httpLink,desc);&lt;br /&gt;        linkDao.addLink(link);&lt;br /&gt;        return link;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void removeLink(Link link){&lt;br /&gt;        linkDao.removeLink(link);&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public void setLinkDao(LinkDao linkDao) {&lt;br /&gt;        this.linkDao = linkDao;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;11. Now configure the beans in &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part1_Spring/LinkedLinks/web/WEB-INF/applicationContext.xml&quot;&gt;applicationContext.xml&lt;/a&gt; file to set proper dependency injection.&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;xml&quot;&gt;&lt;br /&gt;&amp;lt;bean id=&quot;myDao&quot; class=&quot;com.linkedlinks.repository.SimulateDao&quot; /&gt;&lt;br /&gt;&amp;lt;bean id=&quot;myService&quot; class=&quot;com.linkedlinks.service.LinksServiceImpl&quot;&gt;&lt;br /&gt;&amp;lt;property name=&quot;linkDao&quot;&gt;&lt;br /&gt;&amp;lt;ref bean=&quot;myDao&quot; /&gt;&lt;br /&gt;&amp;lt;/property&gt;&lt;br /&gt;&amp;lt;/bean&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;12. Create a sample console client applicatin which uses LinksService to perform business functions. Create it under client package - &lt;a href=&quot;http://craty.0fees.net/LinkedLinks_Part1_Spring/LinkedLinks/src/java/com/linkedlinks/client/ConsoleClient.java&quot;&gt;ConsoleClient.java&lt;/a&gt;&lt;br /&gt;&lt;pre name=&quot;code&quot; class=&quot;java:collapse&quot;&gt;&lt;br /&gt;package com.linkedlinks.client;&lt;br /&gt;&lt;br /&gt;import com.linkedlinks.domain.Link;&lt;br /&gt;import com.linkedlinks.service.LinksService;&lt;br /&gt;import java.util.List;&lt;br /&gt;import org.springframework.beans.factory.BeanFactory;&lt;br /&gt;import org.springframework.beans.factory.xml.XmlBeanFactory;&lt;br /&gt;import org.springframework.core.io.FileSystemResource;&lt;br /&gt;import org.springframework.core.io.Resource;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author harish&lt;br /&gt; */&lt;br /&gt;public class ConsoleClient {&lt;br /&gt;&lt;br /&gt;    private LinksService linksService;&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        new ConsoleClient().demo();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void demo() {&lt;br /&gt;        setupBeans();&lt;br /&gt;        displayAllLinks(linksService.getLinks());&lt;br /&gt;&lt;br /&gt;        Link link6 = linksService.createLink(&quot;title6&quot;,&quot;http://link6&quot;,&quot;desc6&quot;);&lt;br /&gt;        Link link7 = linksService.createLink(&quot;title7&quot;,&quot;http://link7&quot;, &quot;desc7&quot;);&lt;br /&gt;&lt;br /&gt;        System.out.println(&quot;Two links added.. Total links count = &quot; + linksService.getTotalLinksCount());&lt;br /&gt;        linksService.removeLink(link6);&lt;br /&gt;        link7.setDescription(&quot;Big Desc 7&quot;);&lt;br /&gt;        linksService.updateLink(link7);&lt;br /&gt;        System.out.println(&quot;link 6 removed.. link 7 description updated..&quot;);&lt;br /&gt;        displayAllLinks(linksService.getLinks());&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void setupBeans() {&lt;br /&gt;        Resource res = new FileSystemResource(&quot;web/WEB-INF/applicationContext.xml&quot;);&lt;br /&gt;        BeanFactory factory = new XmlBeanFactory(res);&lt;br /&gt;        LinksService myService = (LinksService) factory.getBean(&quot;myService&quot;);&lt;br /&gt;        setLinksService(myService);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void displayAllLinks(List&amp;lt;Link&gt; links) {&lt;br /&gt;        System.out.println(&quot;All links details&quot;);&lt;br /&gt;        for (Link link : links) {&lt;br /&gt;            System.out.println(link);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public LinksService getLinksService() {&lt;br /&gt;        return linksService;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setLinksService(LinksService linksService) {&lt;br /&gt;        this.linksService = linksService;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;13. Now you can see the output by running the console client.&lt;br /&gt;&lt;br /&gt;This completes the spring part of the tutorial. To contiue further for integrating JSF with Spring, go through part II of the tutorial &lt;a href=&quot;http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-2.html&quot;&gt;here&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://harishkv.blogspot.com/feeds/1730361012843158657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-1.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/1730361012843158657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/1730361012843158657'/><link rel='alternate' type='text/html' href='http://harishkv.blogspot.com/2009/12/spring-jsf-hibernate-integration-part-1.html' title='Spring, JSF &amp; Hibernate Integration - Part I'/><author><name>Harish</name><uri>http://www.blogger.com/profile/01835033223294203928</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4501301894962219185.post-691959156529496452</id><published>2009-11-14T04:19:00.000-08:00</published><updated>2009-11-14T05:04:45.377-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="firefox thunderbird backup mozilla netscape restore"/><title type='text'>Firefox and Thunderbird backup cum restore software - MozBackup</title><content type='html'>If you ever wanted to format or change your PC and wondered how can I save all settings and data of  firefox / thunderbird so that it can be retrieved in the exact same state in new PC.. then here is the solution - MozBackup&lt;br /&gt;&lt;br /&gt;You can also use this to backup all your mails along with folder settings, filter settings, account settings etc. in Thunderbird.&lt;br /&gt;&lt;br /&gt;In firefox it even stores the extensions installed along with storing bookmarks and history.&lt;br /&gt;So you can safely backup all your browsing history, bookmarks and extensions, so that in case your computer crashes down, you can just restore back the exact firefox state (to the minute setting) with just mere clicks.&lt;br /&gt;&lt;br /&gt;Here is the list of softwares for which it can backup / restore data -  Firefox, Mozilla Thunderbird, Mozilla Sunbird, Flock, SeaMonkey, Mozilla Suite, Spicebird, Songbird and Netscape profiles.&lt;br /&gt;&lt;br /&gt;Moreover it stores everything in a single file with .pcv extension and even has option to protect it with a password. It also provides options to choose the kind of data you want to store in the backup.&lt;br /&gt;&lt;br /&gt;.. and ofcourse it&#39;s freeware&lt;br /&gt;&lt;br /&gt;So what else you are waiting for? Get more details about this software from &lt;a href=&quot;http://mozbackup.jasnapaka.com/&quot;&gt;http://mozbackup.jasnapaka.com/&lt;/a&gt; and you directly download the software from &lt;a href=&quot;http://mozbackup.jasnapaka.com/download.php&quot;&gt;this&lt;/a&gt; link.&lt;br /&gt;&lt;br /&gt;Happy browsing and mailing without fear of ever loosing any of your settings and data.</content><link rel='replies' type='application/atom+xml' href='http://harishkv.blogspot.com/feeds/691959156529496452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://harishkv.blogspot.com/2009/11/cool-backup-cum-restore-software-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/691959156529496452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4501301894962219185/posts/default/691959156529496452'/><link rel='alternate' type='text/html' href='http://harishkv.blogspot.com/2009/11/cool-backup-cum-restore-software-for.html' title='Firefox and Thunderbird backup cum restore software - MozBackup'/><author><name>Harish</name><uri>http://www.blogger.com/profile/01835033223294203928</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>