<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BosIT &#187; Java</title>
	<atom:link href="http://www.bosit.be/blog/?feed=rss2&#038;cat=6" rel="self" type="application/rss+xml" />
	<link>http://www.bosit.be/blog</link>
	<description>Running on the Big Wheel aka Technology, music, life.</description>
	<lastBuildDate>Fri, 04 Jun 2010 16:19:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Is the Java Store dead ?</title>
		<link>http://www.bosit.be/blog/?p=82</link>
		<comments>http://www.bosit.be/blog/?p=82#comments</comments>
		<pubDate>Fri, 04 Jun 2010 16:19:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[store]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=82</guid>
		<description><![CDATA[I&#8217;ve been waiting since Devoxx for the Java Store to become available in Belgium.Seemingly zero changes since then Although it might not be the most original idea, it does sound like a natural fit for the java platform on the desktop. Anyone knows if Oracle killed this off or if it died when James Gosling [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D82"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D82&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve been waiting since Devoxx for the <a href="http://store.java.com">Java Store</a> to become available in Belgium.Seemingly zero changes since then <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>Although it might not be the most original idea, it does sound like a natural fit for the java platform on the desktop.</p>
<p>Anyone knows if Oracle killed this off or if it died when James Gosling left Oracle ?</p>
<p>I for one am still rooting for this to actually happen. Yes I&#8217;m a dreamer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=82</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Compiling Spring 3 from SVN on Linux</title>
		<link>http://www.bosit.be/blog/?p=70</link>
		<comments>http://www.bosit.be/blog/?p=70#comments</comments>
		<pubDate>Thu, 12 Nov 2009 01:07:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[spring]]></category>
		<category><![CDATA[spring3]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=70</guid>
		<description><![CDATA[Mostly so I don&#8217;t forget myself next time Don&#8217;t forget to checkout only the wanted HEAD revision from svn: svn co -r HEAD https://src.springframework.org/svn/spring-framework/trunk spring-framework If you have ant as part of your distro (as is the case in gentoo), download a binary ant distribution and run &#60;your_new_ant_path&#62;/bin/ant instead of the &#8216;default&#8217; ant to prevent [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D70"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D70&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Mostly so I don&#8217;t forget myself next time <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Don&#8217;t forget to checkout only the wanted HEAD revision from svn:</p>
<blockquote><p>svn co -r HEAD https://src.springframework.org/svn/spring-framework/trunk spring-framework</p></blockquote>
<p>If you have ant as part of your distro (as is the case in gentoo), download a binary ant distribution and run &lt;your_new_ant_path&gt;/bin/ant instead of the &#8216;default&#8217; ant to prevent any classpath issues.</p>
<p>Make sure you do</p>
<blockquote><p>export ANT_OPTS=&#8221;-XX:PermSize=128m -XX:MaxPermSize=128m&#8221;</p></blockquote>
<p>If necessary add -Xmx512m or more too.</p>
<p>Enter build-spring-framework and run</p>
<blockquote><p>&lt;your_new_ant_path&gt;/bin/ant</p></blockquote>
<p>to build Spring. In order for Eclipse to be able to find all required jar&#8217;s, you&#8217;re probably best running the resolve ant target in most of the subprojects.</p>
<p>Open import the projects to an Eclipse workspace, set the IVY_CACHE classpath var in Eclipse prefs to spring-framework/ivy-cache</p>
<p>I had a few errors in tests for the oxm bundle failing, but since I don&#8217;t really need them anyways I just removed the src/test source dirs from the oxm project in Eclipse <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>It&#8217;s 2 AM so yea, the above is probably pretty messy <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=70</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>64bit java plugin out in the wild aka Sun Java 6u12 released!</title>
		<link>http://www.bosit.be/blog/?p=64</link>
		<comments>http://www.bosit.be/blog/?p=64#comments</comments>
		<pubDate>Tue, 03 Feb 2009 07:00:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=64</guid>
		<description><![CDATA[Get it hot! As I&#8217;ll probably be waiting for this release to hit the/some Gentoo/Ubuntu repo, I have to say I&#8217;m surprised at the seemingly short interval between the last update releases. Seems 11 was only last week somehow. As my previous Athlon64 and current Intel i7 Core are both 64bit, I do have to [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D64"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D64&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://java.sun.com/javase/downloads/index.jsp">Get it hot</a>! <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> As I&#8217;ll probably be waiting for this release to hit the/some Gentoo/Ubuntu repo, I have to say I&#8217;m surprised at the seemingly short interval between the last update releases. Seems 11 was only last week somehow.</p>
<p>As my previous Athlon64 and current Intel i7 Core are both 64bit, I do have to say I&#8217;m anxious to try the long announced java plugin for 64bit platforms. I&#8217;ve been using icedtea 6 on gentoo for a while, but as I need a Sun JVM for professional stuff I&#8217;m glad this update has finally arrived. Curious to see if it lives up to it&#8217;s expectations.</p>
<p>Besides all that, the included improvements seem quite numerous (take a look at the <a href="http://java.sun.com/javase/6/webnotes/6u12.html">release notes</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=64</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can&#8217;t find the Capabilities prefs pane or Classic Update?</title>
		<link>http://www.bosit.be/blog/?p=60</link>
		<comments>http://www.bosit.be/blog/?p=60#comments</comments>
		<pubDate>Wed, 17 Dec 2008 23:36:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[ganymede]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=60</guid>
		<description><![CDATA[Eclipse 3.4 Ganymede introduces a new UI for software updates. In order for the Help-&#62;Software Updates submenu to show up again: install the Eclipse SDK plugin if needed enable Classic Update in Preferences-&#62;General-&#62;Capabilities Easy as eating &#8230; fries!]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D60"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D60&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Eclipse 3.4 Ganymede introduces a new UI for software updates.</p>
<p>In order for the Help-&gt;Software Updates submenu to show up again:</p>
<ol>
<li>install the Eclipse SDK plugin if needed</li>
<li>enable Classic Update in Preferences-&gt;General-&gt;Capabilities</li>
</ol>
<p>Easy as eating &#8230; fries! <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=60</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>64bit Flash plugin for Linux, finally!</title>
		<link>http://www.bosit.be/blog/?p=56</link>
		<comments>http://www.bosit.be/blog/?p=56#comments</comments>
		<pubDate>Tue, 18 Nov 2008 04:20:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[64bit]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=56</guid>
		<description><![CDATA[Pigs seem to be able to fly as Adobe today released a preview 64bit release of it&#8217;s Flash plugin! Are the days of using nspluginwrapper finally over? I suppose we can&#8217;t expect too much of a preview but those days seem to be coming! If now we get a fast 64bit native java runtime (with [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D56"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D56&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Pigs seem to be able to fly as Adobe today released <a href="http://labs.adobe.com/technologies/flashplayer10/">a preview 64bit release of it&#8217;s Flash plugin</a>!</p>
<p>Are the days of using nspluginwrapper finally over? I suppose we can&#8217;t expect too much of a preview but those days seem to be coming!</p>
<p>If now we get a fast 64bit native java runtime (with a working -client option please), I guess the productive life in the 64bit Linux world is finally no more painful than the 32bit world.</p>
<p>Kudos Adobe, this is a step in the right direction!</p>
<p>Now, please also create a Linux version equivalent (or even something better maybe) to Digital Editions and I can actually take advantage of my digital subscribtion to www.standaard.be to read the entire paper digitally.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=56</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The pain of setting the classpath through the Jar Manifest</title>
		<link>http://www.bosit.be/blog/?p=52</link>
		<comments>http://www.bosit.be/blog/?p=52#comments</comments>
		<pubDate>Thu, 09 Oct 2008 09:48:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[fixit]]></category>
		<category><![CDATA[manifestssuck]]></category>
		<category><![CDATA[netbeans]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=52</guid>
		<description><![CDATA[I&#8217;ll keep this short: jar manifests suck. I just found out a jar wasn&#8217;t loaded as it was supposed to because my manifest classpath entry was 70 chars long (including the first space!). All other lines were 71 chars long, except this one because the entry was finished, so I was missing one space. Netbeans [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D52"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D52&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ll keep this short: jar manifests suck. I just found out a jar wasn&#8217;t loaded as it was supposed to because my manifest classpath entry was 70 chars long (including the first space!). All other lines were 71 chars long, except this one because the entry was finished, so I was missing one space.</p>
<p>Netbeans handles this nicely when I build my app consisting of a number of projects with jar dependencies. Everything ends up ready to run in the dist dir of the main project root. Neat and simple. In Eclipse I seem to overlook the ability to export a Jar with it&#8217;s dependencies&#8217; classpath preconfigured &amp; packaged alongside the project code. I mean, am I *supposed* to do this myself?</p>
<p>I guess I really need to upgrade to using ant or maven and automate these kinds of things &#8230; and I will! Euhm &#8230; soon!</p>
<p>Since this is a clientside project, I&#8217;ll finally make the step and get the right kind of certificate to sign my code and WebStart enable the entire thing. And unless I solve these issues, I&#8217;ll return to netbeans for that purpose, although MyEclipse finally enabled me to stick with Eclipse <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Until I switch to something automated of course <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Tired now. Need sleep.</p>
<p>Nite nite.</p>
<p>PS: I was about to reread but I&#8217;m too tired, so sorry, it&#8217;s probably badly written and ill-structured (or something)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=52</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8216;Fixing&#8217; the slow JFileChooser on Windows XP</title>
		<link>http://www.bosit.be/blog/?p=51</link>
		<comments>http://www.bosit.be/blog/?p=51#comments</comments>
		<pubDate>Sat, 27 Sep 2008 07:03:48 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[jdk6u10]]></category>
		<category><![CDATA[jfilechooser]]></category>
		<category><![CDATA[slow]]></category>
		<category><![CDATA[swing]]></category>
		<category><![CDATA[windowsxp]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=51</guid>
		<description><![CDATA[Ever used a Java Swing app on Windows XP that seemed to freeze when you open a JFileChooser dialog? Apparently it&#8217;s caused by calls being made to Windows&#8217; infamous integrated &#8216;compressed folders&#8217; utility when files are recognized as archives. The bad news is that every stable Sun JVM on Windows XP up to today suffers [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D51"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D51&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Ever used a Java Swing app on Windows XP that seemed to freeze when you open a JFileChooser  dialog? <a href="http://forums.sun.com/thread.jspa?threadID=5207221&amp;messageID=9901574">Apparently</a> it&#8217;s caused by calls being made to Windows&#8217; infamous integrated &#8216;compressed folders&#8217; utility when files are recognized as archives.</p>
<p>The bad news is that every stable Sun JVM on Windows XP up to today suffers from this issue.<br />
The good news that the issue has been f <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5050516">fixed in Java 1.6u10b07</a>. Although I don&#8217;t presume to know the entire history of this bug, it seems a little sad to see this one was reported against release 1.4.2.</p>
<p>To fix on java versions predating 6u10b7, the only fix is effectively unregistering the zip folder dll from windows. Since I won&#8217;t quite use 6u10 until it&#8217;s GA and I&#8217;ve been a happy 7zip user on every OS I use for quite some time now I decided to go for the uninstall.</p>
<p>To unregister (and disable &#8216;Compressed Folders&#8217;):<code><br />
regsvr32 /u %windir%\system32\zipfldr.dll</code></p>
<p>If you decide for some reason you can&#8217;t live without it and want to re-enable, execute again from a cmd :<code><br />
regsvr32 zipfldr.dll</code><br />
and you&#8217;ll be sending things to compressed folders before you know it <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=51</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to restore EJB injection in MyEclipse 6+ after adding ICEFaces support</title>
		<link>http://www.bosit.be/blog/?p=49</link>
		<comments>http://www.bosit.be/blog/?p=49#comments</comments>
		<pubDate>Mon, 22 Sep 2008 03:03:42 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ejb]]></category>
		<category><![CDATA[icefaces]]></category>
		<category><![CDATA[myeclipse]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=49</guid>
		<description><![CDATA[After some headscratching, I found out why EJB injection into my managed beans for jsf application stopped working after adding ICEFaces Support on the MyEclipse forums. It&#8217;s actually very simple and logical: upon adding ICEFaces support to the EE Web Project, you&#8217;re asked to downgrade to a servlet 2.4 compatible web.xml, which is the cause [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D49"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D49&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>After some headscratching, I found out why EJB injection into my managed beans for jsf application stopped working after adding ICEFaces Support on the <a href="http://www.myeclipseide.com/index.php?name=PNphpBB2&amp;file=viewtopic&amp;t=21400&amp;start=0&amp;postdays=0&amp;postorder=asc&amp;highlight=">MyEclipse forums</a>.</p>
<p>It&#8217;s actually very simple and logical: upon adding ICEFaces support to the EE Web Project, you&#8217;re asked to downgrade to a servlet 2.4 compatible web.xml, which is the cause of the trouble.</p>
<p>To restore the EJB injection, just copy the web-app tag from the renamed original web.xml called web.xml.org which can be found in the WEB-INF dir of the WebRoot dir. In case you deleted it:<code><br />
&lt;web-app xmlns="http://java.sun.com/xml/ns/javaee"<br />
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"<br />
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee<br />
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&gt;<br />
</code></p>
<p>Also, make sure the JSF version is set to 1.2 in faces-config.xml, which was the case for me.</p>
<p>My actual versions: MyEclipse 6.5.1 with ICEFaces support 1.7.1 for Eclipse.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=49</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MyEclipse 6.5 &amp; IceFaces support ?</title>
		<link>http://www.bosit.be/blog/?p=47</link>
		<comments>http://www.bosit.be/blog/?p=47#comments</comments>
		<pubDate>Thu, 18 Sep 2008 18:24:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[icefaces]]></category>
		<category><![CDATA[myeclipse]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=47</guid>
		<description><![CDATA[Does anybody have a working ICEFaces integration in MyEclipse? The latest version of the ICEFaces plugins for MyEclipse is for version 6.0.1 which does not appear to work anymore in MyEclipse 6.5 (The properties view throws Exception &#8216;à volonté&#8217; when I select an ICEFaces Datatable component for example) I&#8217;ve acquired MyEclipse a good month ago [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D47"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D47&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Does anybody have a working ICEFaces integration in MyEclipse? The latest version of the ICEFaces plugins for MyEclipse is for version 6.0.1 which does not appear to work anymore in MyEclipse 6.5 (The properties view throws Exception &#8216;à volonté&#8217; when I select an ICEFaces Datatable component for example)</p>
<p>I&#8217;ve acquired MyEclipse a good month ago and must say I&#8217;m pretty satisfied with my $30 (annual) investment. A lot of these plugins are available by other means, whether they be Eclipse plugins or Netbeans or &#8230; What specifically makes MyEclipse valuable for me is the fact that it&#8217;s all preconfigured for one specific Eclipse runtime, the fact that I can edit Netbeans Matisse GUI forms and hopefully the ICEFaces support <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I&#8217;ve lost way too much time with handling all the different Eclipse Runtime requirements for plugins over the last few years. It&#8217;s a great platform, but somehow it seems you can&#8217;t do without a number of installed Runtimes. MyEclipse brings this number down to 4: MyEclipse, Lotus Notes, RAD &amp; Lotus Symphony</p>
<p>When I installed on Linux I downloaded the Pulse Platform based installer without paying too much attention. After my initial surprise &amp; scrutiny, I was pretty impressed by it&#8217;s easy of use for managing the plugins for MyEclipse. The process to do this straight from MyEclipse is about as easy as installing an application in Ubuntu using Add/Remove Applications, where the traditional Eclipse update support compares to Synaptic although it might be a little more complex (and powerful).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=47</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WebSphere Portal 6.1 is released!</title>
		<link>http://www.bosit.be/blog/?p=43</link>
		<comments>http://www.bosit.be/blog/?p=43#comments</comments>
		<pubDate>Tue, 01 Jul 2008 17:24:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[portal]]></category>
		<category><![CDATA[portal61]]></category>
		<category><![CDATA[websphere]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=43</guid>
		<description><![CDATA[Woohoow, looking very much forward to getting my hands dirty with this one JSR 286, WSRP 2.0, REST services, live text, AJAX proxy, &#8230; , lots of new sweetness. Oh and did I mention the new page loading model is *fast* (no more full page reloads because of portlets!) Check out the top 10 new [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D43"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D43&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Woohoow, looking very much forward to getting my hands dirty with this one <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
JSR 286, WSRP 2.0, REST services, live text, AJAX proxy, &#8230; , lots of new sweetness. Oh and did I mention the new page loading model is *fast* (no more full page reloads because of portlets!)<br />
Check out <a href="http://www-306.ibm.com/software/genservers/portal/topten.html">the top 10 new features at IBM</a><br />
And of course there&#8217;s the updated <a href="http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/index.jsp">Portal Info Center</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=43</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GPL&#8217;d Java vs. Gosling Emacs</title>
		<link>http://www.bosit.be/blog/?p=41</link>
		<comments>http://www.bosit.be/blog/?p=41#comments</comments>
		<pubDate>Tue, 24 Jun 2008 04:20:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[gosling]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[rms]]></category>
		<category><![CDATA[slashdot]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=41</guid>
		<description><![CDATA[A nice comment on a slashdot story reporting on made advances in opening up Java taught me a few nice trivias on the history between Richard Stallman and James Gosling in the early days: &#8220;In the early years (1984 to 1988), the GNU Project did not have a single license to cover all its software. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D41"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D41&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>A <a href="http://developers.slashdot.org/comments.pl?sid=591803&amp;cid=23902031">nice comment</a> on a slashdot story reporting on made advances in opening up Java taught me a few nice trivias on the history between Richard Stallman and James Gosling in the early days:</p>
<blockquote><p>&#8220;In the early years (1984 to 1988), the GNU Project did not have a single license to cover all its software. What led Stallman to the creation of this copyleft license was his experience with James Gosling, creator of NeWs and the Java programming language, and UniPress, over Emacs. While Stallman created the first Emacs in 1975, Gosling wrote the first C-based Emacs (Gosling Emacs) running on Unix in 1982. Gosling initally allowed free distribution of the Gosling Emacs source code, which Stallman used in early 1985 in the first version (15.34) of GNU Emacs. Gosling later sold rights to Gosling Emacs to UniPress, and Gosling Emacs became UniPress Emacs. UniPress threatened Stallman to stop distributing the Gosling source code, and Stallman was forced to comply. He later replace these parts with his own code. (Emacs version 16.56). (See the Emacs Timeline) To prevent free code from being proprietarized in this manner in the future, Stallman invented the GPL.&#8221; </p></blockquote>
<p>Nice to see how (as the comment author puts it) &#8216;Richard was right.&#8217;<br/><br />
The rest of the comment ( &amp; story) is equally worth a read. Long live the GPL &amp; Java! &amp; so many others <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=41</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lotus Symphony just went final &amp; brings Eclipse plugin extensibility to OOo</title>
		<link>http://www.bosit.be/blog/?p=39</link>
		<comments>http://www.bosit.be/blog/?p=39#comments</comments>
		<pubDate>Mon, 02 Jun 2008 03:14:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[lotus]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[symphony]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=39</guid>
		<description><![CDATA[So Lotus Symphony has reached GA, and I have to say seems they&#8217;ve done a great job optimizing it when I compare the performance to the earlier beta releases. The product is freely available to anyone and supported for Linux (SLED/RedHat) and Windows (XP/Vista). What makes this interesting over the standard OpenOffice distribution, is the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D39"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D39&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>So <a href="http://symphony.lotus.com/software/lotus/symphony/home.jspa">Lotus Symphony</a> has reached GA, and I have to say seems they&#8217;ve done a great job optimizing it when I compare the performance to the earlier beta releases. The product is freely available to anyone and supported for Linux (SLED/RedHat) and Windows (XP/Vista).</p>
<p>What makes this interesting over the standard OpenOffice distribution, is the the possibility to write Eclipse plugins to extends Symphony&#8217;s functionality. To get started doing that, <a href="https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?lang=en_US&amp;source=swerplotus-lsymb3&amp;S_PKG=toolkit">just grab the SDK</a> weighing in just over 8mb,  which contains the developer guide and sample plugins along with instructions showing you how to set up your own Eclipse development environment.</p>
<p>Or you could just grab a few of the <a href="http://symphony.lotus.com/software/lotus/symphony/plugins.jspa">contributed plugins </a>available already.</p>
<p>Disclaimer: I&#8217;m an IT Specialist for Lotus at IBM Belgium, mostly focusing on WebSphere Portal &amp; Lotus Workplace Web Content Management</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=39</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Theming &amp; Skinning WebSphere Portal 6</title>
		<link>http://www.bosit.be/blog/?p=30</link>
		<comments>http://www.bosit.be/blog/?p=30#comments</comments>
		<pubDate>Mon, 14 Apr 2008 21:08:46 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[lotus]]></category>
		<category><![CDATA[portal]]></category>
		<category><![CDATA[skinning]]></category>
		<category><![CDATA[theming]]></category>
		<category><![CDATA[websphere]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=30</guid>
		<description><![CDATA[A nice article on the subject]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D30"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D30&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.ibm.com/developerworks/websphere/library/techarticles/0804_barnes/0804_barnes.html">A nice article on the subject</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=30</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A few OSGi related links</title>
		<link>http://www.bosit.be/blog/?p=29</link>
		<comments>http://www.bosit.be/blog/?p=29#comments</comments>
		<pubDate>Wed, 09 Apr 2008 01:36:29 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[osgi]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=29</guid>
		<description><![CDATA[OSGi and Open Source ecosystem : Piero Campanelli provides a nice list of projects related to or supporting OSGi. A short tutorial into Eclipse, Equinox and OSGi And the Equinox Quickstart guide]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D29"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D29&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<ul>
<li>
	<a href="http://www.pierocampanelli.info/articles/2006/11/15/osgi-and-open-source-ecosystem/" target="_parent">OSGi and Open Source ecosystem</a> : Piero Campanelli provides a nice list of projects related to or supporting OSGi.
	</li>
<li>
	<a href="http://www.theserverside.com/tt/articles/article.tss?l=EclipseEquinoxOSGi" target="_parent">A short tutorial into Eclipse, Equinox and OSGi</a>
	</li>
<li>
	And the <a href="http://www.eclipse.org/equinox/documents/quickstart.php" target="_parent">Equinox Quickstart guide</a>
	</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=29</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JDK 6u10 early access features Nimbus Look &#8216;n Feel</title>
		<link>http://www.bosit.be/blog/?p=28</link>
		<comments>http://www.bosit.be/blog/?p=28#comments</comments>
		<pubDate>Tue, 08 Apr 2008 09:47:53 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[jdk6u10]]></category>
		<category><![CDATA[lnf]]></category>
		<category><![CDATA[nimbus]]></category>
		<category><![CDATA[swing]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=28</guid>
		<description><![CDATA[Although I found the Ocean look to be a major improvement of the Metal look and feel (L&#038;F), Nimbus seems a big step forward once again. And not an unwelcome one at that. It does deserve to be said that a project with a Swing frontend I&#8217;ve been working on for a client for sometime [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D28"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D28&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Although I found the <a href="http://java.sun.com/docs/books/tutorial/figures/uiswing/lookandfeel/OceanLAF.gif" target="_parent">Ocean</a> look to be a major improvement of the <a href="http://java.sun.com/docs/books/tutorial/figures/uiswing/lookandfeel/MetalLAF.gif" target="_parent">Metal</a> look and feel (L&#038;F), <a href="http://java.sun.com/developer/technicalArticles/javase/consumerjre/nimbusswingset1.png" target="_parent">Nimbus</a> seems a <strong>big</strong> step forward once again. And not an unwelcome one at that.</p>
<p> It does deserve to be said that a project with a Swing frontend I&#8217;ve been working on for a client for sometime now has been running Ocean as default look for a while now. It&#8217;s primary user group are users with no technical expertise whatsoever, and after I disabled the native theme for a while to do some Vista testing and forgot to re-enable it later for the next release build, they&#8217;ve specifically asked me to switch back to Ocean afterwards when I had &#8216;corrected&#8217; the issue. I still need to ask whether that was due to use of colors, font, dpi or messy Swing native theming.</p>
<p>Which brings up a question that crossed my mind a few times; how many or few colors can/should a business app gui use in it&#8217;s UI, before it gets that screaming feeling or transforms to the written equivalent of The Box Factory?<br/><br />
Since I try to adhere to splitting the layers and reusing components (sort of), the use of color seems pretty important when designing editors and viewers of different sorts. I suppose it should all be abstracted out to the presentation model right <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=28</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A few interesting Java/Design related talks</title>
		<link>http://www.bosit.be/blog/?p=22</link>
		<comments>http://www.bosit.be/blog/?p=22#comments</comments>
		<pubDate>Mon, 07 Apr 2008 22:10:34 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=22</guid>
		<description><![CDATA[Over the last few days I&#8217;ve watched a few nice talks, so even if only for future self-reference, I&#8217;ll give a list here: OSGi : The Foundation: Talk by Peter Kriens, who is the lead for OSGi. &#8220;His pres shows you why a spec like OSGi is crucial, what it really encompasses, and what the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D22"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D22&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Over the last few days I&#8217;ve watched a few nice talks, so even if only for future self-reference, I&#8217;ll give a list here:
<ul>
<li><a target="_blank" href="http://www.infoq.com/presentations/osgi-the-foundation">OSGi : The Foundation</a>: Talk by Peter Kriens, who is the lead for OSGi. &#8220;His pres shows you why a spec like OSGi is crucial, what it really encompasses, and what the future developments will be.<br />
					&#8221; Very interesting since my knowledge on OSGi is (was) sparse at best.I&#8217;ll be taking another look at Eclipse RCP and Equinox.</li>
<li><a target="_blank" href="http://www.infoq.com/presentations/desktop-ria-java-scott-delap">Overview of Desktop Java Techs</a> : Talk by Scott Delap who is the author of Desktop Java Live. &#8220;Scott Delap provides an overview of Swing and Eclipse RCP technologies in today&#8217;s world of RIA applications&#8221;</li>
<li><a target="_blank" href="http://www.infoq.com/interviews/romain-guy">Romain Guy on the state of desktop Java</a> : interview with the co-author of Filthy Rich Clients.</li>
<li><a target="_blank" href="http://www.infoq.com/interviews/joshua-bloch">Joshua Bloch on Closures, Resource Management, Google</a> : Responsible for the Java Collections framework among others in Java, currently responsible for the Java arch @ Google. Quite the Java guru <img src='http://www.bosit.be/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li><a target="_blank" href="http://www.infoq.com/interviews/haase-update-n-javafx">Chet Haase discusses Java FX, Update N and JDK 7</a> : the other co-author of Filthy Rich Clients. </li>
<li><a target="_blank" href="http://www.infoq.com/presentations/effective-api-design">How to design a good API and why it matters</a> : a classic must-see talk by Joshua Bloch. &#8220;In this talk (recorded at Javapolis), Java library designer Joshua<br />
Bloch teaches how to design good APIs, with many examples of what good<br />
and bad APIs look like.&#8221;</li>
<li><a target="_blank" href="http://www.bosit.be/blog/?p=19">Desktop Patterns &amp;amp; Data Binding</a> : actually posted this link to a talk by the JGoodies lead a few days back, which I found to be very useful in explaining the organization of view logic in Java Desktop Apps.</li>
</ul>
<p>Technorati Tags: <a class="performancingtags" href="http://technorati.com/tag/java" rel="tag">java</a>, <a class="performancingtags" href="http://technorati.com/tag/design" rel="tag">design</a>, <a class="performancingtags" href="http://technorati.com/tag/talk" rel="tag">talk</a>, <a class="performancingtags" href="http://technorati.com/tag/presentation" rel="tag">presentation</a>, <a class="performancingtags" href="http://technorati.com/tag/api" rel="tag">api</a>, <a class="performancingtags" href="http://technorati.com/tag/desktop" rel="tag">desktop</a>, <a class="performancingtags" href="http://technorati.com/tag/osgi" rel="tag">osgi</a>, <a class="performancingtags" href="http://technorati.com/tag/binding" rel="tag">binding</a>, <a class="performancingtags" href="http://technorati.com/tag/desktopjava" rel="tag">desktopjava</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=22</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaPolis 2k6 talk on Desktop Patterns &amp; Data Binding</title>
		<link>http://www.bosit.be/blog/?p=19</link>
		<comments>http://www.bosit.be/blog/?p=19#comments</comments>
		<pubDate>Sat, 05 Apr 2008 22:59:22 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=19</guid>
		<description><![CDATA[Although this talk predates the recent evolutions on the topic for a large part, I liked the overview and explanation of the different approaches/patterns; Autonomous View, MVP, Presentation Model etc. The speaker is the creator of the JGoodies binding. Update: actually, the beta version of the Parleys interface is a *lot* betterIn general I&#8217;m not [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D19"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D19&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Although <a href="http://www.parleys.com/display/PARLEYS/Desktop+Patterns+and+Data+Binding" target="_parent">this talk</a> predates the recent evolutions on the topic for a large part, I liked the overview and explanation of the different approaches/patterns; Autonomous View, MVP, Presentation Model etc.<br/><br />
The speaker is the creator of the JGoodies binding. <br/><br />
Update: actually, the <a href="http://www.parleys.com/display/V21Beta/Home#talk=7619;title=Desktop%20Patterns%20and%20Data%20Binding" target="_parent">beta version</a> of the Parleys interface is a *lot* better<br/>In general I&#8217;m not the biggest fan of Flash usage, but in Parleys&#8217; case, they&#8217;ve been able create a great interface for watching talks/presentations.<br/><br />
Update #2: the presentation slides are actually listed in the <a href="http://www.jgoodies.com/articles/" target="_parent">JGoodies articles section</a> as <a href="http://www.jgoodies.com/articles/patterns-and-binding.pdf" target="_parent">Desktop Patterns &#038; Data Binding</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=19</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Should look at JAXB too</title>
		<link>http://www.bosit.be/blog/?p=17</link>
		<comments>http://www.bosit.be/blog/?p=17#comments</comments>
		<pubDate>Fri, 04 Apr 2008 02:09:49 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=17</guid>
		<description><![CDATA[I actually got to the article on my previous post through this post which explains an approach to use JAXB for serialization, incidentally.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D17"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D17&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I actually got to the article on my <a href="http://www.bosit.be/blog/?p=16" target="_parent">previous post</a> through <a href="http://blogs.sun.com/teera/entry/jaxb_for_simple_java_xml" target="_parent">this post</a> which explains an approach to use JAXB for serialization, incidentally.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=17</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time to take a look at the Simple framework for Java for serializing POJO&#8217;s to XML</title>
		<link>http://www.bosit.be/blog/?p=16</link>
		<comments>http://www.bosit.be/blog/?p=16#comments</comments>
		<pubDate>Fri, 04 Apr 2008 01:57:40 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=16</guid>
		<description><![CDATA[Simple. Neat. Sweet. Simple XML Serialization tutorial]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D16"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D16&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Simple. Neat. Sweet.<br/><br />
<a href="http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php" target="_parent">Simple XML Serialization tutorial</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=16</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TableCell Tooltips</title>
		<link>http://www.bosit.be/blog/?p=14</link>
		<comments>http://www.bosit.be/blog/?p=14#comments</comments>
		<pubDate>Wed, 02 Apr 2008 21:37:50 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=14</guid>
		<description><![CDATA[// Get current delay int initialDelay = ToolTipManager.sharedInstance().getInitialDelay(); // Show tool tips immediately ToolTipManager.sharedInstance().setInitialDelay(0); // Show tool tips after a second initialDelay = 1000; ToolTipManager.sharedInstance().setInitialDelay(initialDelay); public Component getTableCellRendererComponent( JTable table, Object color, boolean isSelected, boolean hasFocus, int row, int column) { Color newColor = (Color)color; ... setToolTipText("RGB value: " + newColor.getRed() + ", " + [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D14"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D14&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<pre>
    // Get current delay
    int initialDelay = ToolTipManager.sharedInstance().getInitialDelay();

    // Show tool tips immediately
    ToolTipManager.sharedInstance().setInitialDelay(0);

    // Show tool tips after a second
    initialDelay = 1000;
    ToolTipManager.sharedInstance().setInitialDelay(initialDelay);

public Component getTableCellRendererComponent(
                            JTable table, Object color,
                            boolean isSelected, boolean hasFocus,
                            int row, int column) {
        Color newColor = (Color)color;
        ...
        setToolTipText("RGB value: " + newColor.getRed() + ", "
                                     + newColor.getGreen() + ", "
                                     + newColor.getBlue());
        return this;
    }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=14</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logging System.out and System.err to a file</title>
		<link>http://www.bosit.be/blog/?p=13</link>
		<comments>http://www.bosit.be/blog/?p=13#comments</comments>
		<pubDate>Wed, 02 Apr 2008 21:12:26 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[]]></category>
		<category><![CDATA[err]]></category>
		<category><![CDATA[logging]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=13</guid>
		<description><![CDATA[For future self-reference, found a nice blog post on the topic : Nick Stephen&#8217;s blog: Java: Redirecting System.out and System.err to a rolling log file]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D13"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D13&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>For future self-reference, found a nice blog post on the topic : <br/><br />
<a href="http://blogs.sun.com/nickstephen/entry/java_redirecting_system_out_and" target="_parent">Nick Stephen&#8217;s blog: Java: Redirecting System.out and System.err to a rolling log file</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=13</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dumping a MySQL database from Java</title>
		<link>http://www.bosit.be/blog/?p=11</link>
		<comments>http://www.bosit.be/blog/?p=11#comments</comments>
		<pubDate>Sun, 30 Mar 2008 03:33:09 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqldump]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=11</guid>
		<description><![CDATA[Either you call the mysqldump binary from java : import java.io.File; import java.io.InputStream; import java.io.PrintStream; public class MySQLDumper { private static String ip="localhost"; private static String port="3306"; private static String database="dbname"; private static String user="root"; private static String pass="a"; private static String path="E:\\Users dbname.sql"; public static void export(){ String dumpCommand = "mysqldump " + database [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D11"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D11&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Either you call the mysqldump binary from java :</p>
<pre>
import java.io.File;
import java.io.InputStream;
import java.io.PrintStream;

public class MySQLDumper {

private static String ip="localhost";
private static String port="3306";
private static String database="dbname";
private static String user="root";
private static String pass="a";
private static String path="E:\\Users
dbname.sql";

public static void export(){
String dumpCommand = "mysqldump " + database + " -h " + ip + " -u " + user +" -p" + pass;
Runtime rt = Runtime.getRuntime();
File test=new File(path);
PrintStream ps;

try{
Process child = rt.exec(dumpCommand);
ps=new PrintStream(test);
InputStream in = child.getInputStream();
int ch;
while ((ch = in.read()) != -1) {
ps.write(ch);
System.out.write(ch); //to view it by console
}

InputStream err = child.getErrorStream();
while ((ch = err.read()) != -1) {
System.out.write(ch);
}
}catch(Exception exc) {
exc.printStackTrace();
}
}

public static void main(String args[]){
export();
}
}
</pre>
<p>or you use a java implementation of the tool itself:<br />
<a href="http://www.wave2.org/2007/08/27/mysql-dump-in-java/" target="_parent">MySQL Dump in Java</a> <br/><br />
Which actually leads to the following code : </p>
<pre>
/**
* Copyright (c) 2007, Wave2 Limited
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Wave2 Limited nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.binarystor.mysql;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import org.kohsuke.args4j.*;
import static org.kohsuke.args4j.ExampleMode.ALL;

/**
 *
 * @author Alan Snelson
 */
public class MySQLDump {

    //Command Line Arguments
    @Option(name="--help")
    private boolean help;
    @Option(name="-h",usage="MySQL Server Hostname")
    private String hostname;
    @Option(name="-u",usage="MySQL Username")
    private String username;
    @Option(name="-p",usage="MySQL Password")
    private String password;
    // receives other command line parameters than options
    @Argument
    private List<String> arguments = new ArrayList<String>();

    private static String version = "0.1";
    private String database = null;
    private Connection conn = null;
    private DatabaseMetaData databaseMetaData;
    private String databaseProductVersion = null;
    private String mysqlVersion = null;

    /**
    * Default contructor for MySQLDump.
    */
    public MySQLDump() {

    }

    /**
    * Create a new instance of MySQLDump using default database.
    *
    * @param  host      MySQL Server Hostname
    * @param  username  MySQL Username
    * @param  password  MySQL Password
    */
    public MySQLDump(String host, String username, String password) throws SQLException {
        try{
            connect(host, username, password, "mysql");
        }
        catch (SQLException se){
            throw se;
        }

    }

    /**
    * Create a new instance of MySQLDump using supplied database.
    *
    * @param  host      MySQL Server Hostname
    * @param  username  MySQL Username
    * @param  password  MySQL Password
    * @param  db        Default database
    */
    public MySQLDump(String host, String username, String password, String db) throws SQLException{
        try{
            connect(host, username, password, db);
        }
        catch (SQLException se){
            throw se;
        }
    }

    /**
    * Connect to MySQL server
    *
    * @param  host      MySQL Server Hostname
    * @param  username  MySQL Username
    * @param  password  MySQL Password
    * @param  db        Default database
    */
    public void connect(String host, String username, String password, String db) throws SQLException{
        try
        {
            Class.forName ("com.mysql.jdbc.Driver").newInstance ();
            conn = DriverManager.getConnection ("jdbc:mysql://" + host + "/" + db, username, password);
            databaseMetaData = conn.getMetaData();
            databaseProductVersion = databaseMetaData.getDatabaseProductVersion();
            hostname = host;
            database = db;
            System.out.println ("Database connection established");
        }
        catch (SQLException se){
            throw se;
        }
        catch (Exception e)
        {
            System.err.println ("Cannot connect to database server");
        }
    }

    public File dumpAllDatabases(){
        return null;
    }

    public String dumpCreateDatabase(String database) {
        String createDatabase = null;
        try{
            Statement s = conn.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
            s.executeQuery ("SHOW CREATE DATABASE " + database);
            ResultSet rs = s.getResultSet ();
            while (rs.next ())
            {
                createDatabase = rs.getString("Create Database") + ";";
            }
        } catch (SQLException e) {

        }
        return createDatabase;
    } 

    public File dumpDatabase(String database){
        return null;
    }

    public File dumpAllTables(String database){
        return null;
    }

    public String dumpCreateTable(BufferedWriter out, String table) {
        String createTable = null;
        try{
            out.write("\n\n--\n-- Table structure for table `" + table + "`\n--\n\n");
            Statement s = conn.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
            s.executeQuery ("SHOW CREATE TABLE " + table);
            ResultSet rs = s.getResultSet ();
            while (rs.next ())
            {
                createTable = rs.getString("Create Table") + ";";
            }
        } catch (SQLException e) {

        } catch(IOException e){
            System.err.println (e.getMessage());
        }
        return createTable;
    }

    public void dumpTable(BufferedWriter out, String table){
         try{
            Statement s = conn.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
            out.write("\n\n--\n-- Dumping data for table `" + table + "`\n--\n\n");
            s.executeQuery ("SELECT /*!40001 SQL_NO_CACHE */ * FROM " + table);
            ResultSet rs = s.getResultSet ();
            ResultSetMetaData rsMetaData = rs.getMetaData();
            int columnCount = rsMetaData.getColumnCount();
            String prefix = new String("INSERT INTO " + table + " (");
            for (int i = 1; i <= columnCount; i++) {
                if (i == columnCount){
                    prefix += rsMetaData.getColumnName(i) + ") VALUES(";
                }else{
                    prefix += rsMetaData.getColumnName(i) + ",";
                }
            }
            String postfix = new String();
            int count = 0;
            while (rs.next ())
            {

                postfix = "";
                for (int i = 1; i <= columnCount; i++) {
                    if (i == columnCount){
                        System.err.println(rs.getMetaData().getColumnClassName(i));
                        postfix += "'" + rs.getString(i) + "');\n";
                    }else{

                        System.err.println(rs.getMetaData().getColumnTypeName(i));
                        if (rs.getMetaData().getColumnTypeName(i).equalsIgnoreCase("LONGBLOB")){
                            try{
                                postfix += "'" + escapeString(rs.getBytes(i)).toString() + "',";
                            }catch (Exception e){
                                postfix += "NULL,";
                            }
                        }else{
                            try{
                                postfix += "'" + rs.getString(i).replaceAll("\n","\\\\n").replaceAll("'","\\\\'") + "',";
                            }catch (Exception e){
                                postfix += "NULL,";
                            }
                    }   }
                }
                out.write(prefix + postfix + "\n");
                ++count;
            }
            rs.close ();
            s.close();
        }catch(IOException e){
            System.err.println (e.getMessage());
        }catch(SQLException e){
            System.err.println (e.getMessage());
        }
    }

    public File dumpAllViews(String database) {
        return null;
    }

    public String dumpCreateView(String view) {
        return null;
    }

    public File dumpView(String view) {
        return null;
    }

    /**
    * Escape string ready for insert via mysql client
    *
    * @param  bIn       String to be escaped passed in as byte array
    * @return bOut      MySQL compatible insert ready ByteArrayOutputStream
    */
    private ByteArrayOutputStream escapeString(byte[] bIn){
        int numBytes = bIn.length;
        ByteArrayOutputStream bOut = new ByteArrayOutputStream(numBytes+ 2);
        for (int i = 0; i < numBytes; ++i) {
            byte b = bIn[i];

            switch (b) {
            case 0: /* Must be escaped for 'mysql' */
                    bOut.write('\\');
                    bOut.write('0');
                    break;

            case '\n': /* Must be escaped for logs */
                    bOut.write('\\');
                    bOut.write('n');
                    break;

            case '\r':
                    bOut.write('\\');
                    bOut.write('r');
                    break;

            case '\\':
                    bOut.write('\\');
                    bOut.write('\\');

                    break;

            case '\'':
                    bOut.write('\\');
                    bOut.write('\'');

                    break;

            case '"': /* Better safe than sorry */
                    bOut.write('\\');
                    bOut.write('"');
                    break;

            case '\032': /* This gives problems on Win32 */
                    bOut.write('\\');
                    bOut.write('Z');
                    break;

            default:
                    bOut.write(b);
            }
        }
        return bOut;
    }

    private String getHeader(){
        //return Dump Header
        return "-- BinaryStor MySQL Dump " + version + "\n--\n-- Host: " + hostname + "    " + "Database: " + database + "\n-- ------------------------------------------------------\n-- Server Version: " + databaseProductVersion + "\n--";
    }

    /**
    * Main entry point for MySQLDump when run from command line
    *
    * @param  args  Command line arguments
    */
    public static void main (String[] args) throws IOException {
        new MySQLDump().doMain(args);
    }

    /**
    * Parse command line arguments and run MySQLDump
    *
    * @param  args  Command line arguments
    */
    public void doMain(String[] args) throws IOException {

        String usage = "Usage: java -jar MySQLDump.jar [OPTIONS] database [tables]\nOR     java -jar MySQLDump.jar [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]\nOR     java -jar MySQLDump.jar [OPTIONS] --all-databases [OPTIONS]\nFor more options, use java -jar MySQLDump.jar --help";
        CmdLineParser parser = new CmdLineParser(this);

        // if you have a wider console, you could increase the value;
        // here 80 is also the default
        parser.setUsageWidth(80);

        try {
            // parse the arguments.
            parser.parseArgument(args);

            if (help) {
                throw new CmdLineException("Print Help");
            }

            // after parsing arguments, you should check
            // if enough arguments are given.
            if( arguments.isEmpty() )
                throw new CmdLineException("No argument is given");

        } catch( CmdLineException e ) {
            if (e.getMessage().equalsIgnoreCase("Print Help")){
                System.err.println("MySQLDump.java Ver " + version + "\nThis software comes with ABSOLUTELY NO WARRANTY. This is free software,\nand you are welcome to modify and redistribute it under the BSD license" + "\n\n" + usage);
                return;
            }
            // if there's a problem in the command line,
            // you'll get this exception. this will report
            // an error message.
            System.err.println(e.getMessage());
            // print usage.
            System.err.println(usage);
            return;
        }

        //Do we have a hostname? if not use localhost as default
        if (hostname == null){
            hostname = "localhost";
        }
        //First argument here should be database
        database = arguments.remove(0);

        try{
            //Create temporary file to hold SQL output.
            File temp = File.createTempFile(database, ".sql");
            BufferedWriter out = new BufferedWriter(new FileWriter(temp));
            this.connect(hostname, username, password, database);
            out.write(getHeader());
            for( String arg : arguments )
                System.out.println(arg);
            out.write(dumpCreateTable(out,"blobdump"));
            this.dumpTable(out,"blobdump");
            out.close();
            this.cleanup();
        }
        catch (SQLException se){
            System.err.println (se.getMessage());
        }
    }

    public int cleanup(){
        try
        {
            conn.close ();
            System.out.println ("Database connection terminated");
        }
        catch (Exception e) { /* ignore close errors */ }
        return 1;
    }

}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=11</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>J2SE 1.5 Swing anti-aliasing</title>
		<link>http://www.bosit.be/blog/?p=6</link>
		<comments>http://www.bosit.be/blog/?p=6#comments</comments>
		<pubDate>Mon, 15 Oct 2007 02:01:15 +0000</pubDate>
		<dc:creator>jonathan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[antialiasing]]></category>
		<category><![CDATA[j2se]]></category>
		<category><![CDATA[java5]]></category>
		<category><![CDATA[swing]]></category>

		<guid isPermaLink="false">http://www.bosit.be/blog/?p=6</guid>
		<description><![CDATA[To make J2SE 1.5  use anti-aliased text by default it suffices to set the client property “swing.aatext” to “true”. Got this from http://mindprod.com/jgloss/antialiasing.html]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D6"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.bosit.be%2Fblog%2F%3Fp%3D6&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p class="entry">To make J2SE 1.5  use anti-aliased text by default it suffices to set the client property “<span class="ini">swing.aatext”</span> to “true”.</p>
<p>Got this from http://mindprod.com/jgloss/antialiasing.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bosit.be/blog/?feed=rss2&amp;p=6</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
