<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.9.2 (http://www.squarespace.com/) on Wed, 10 Mar 2010 02:15:26 GMT--><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>BK</title><link>http://www.bartkummel.net/journal/</link><description>Professional weblog of Bart Kummel about programming Java and developing JEE applications.</description><lastBuildDate>Tue, 09 Mar 2010 15:21:40 +0000</lastBuildDate><copyright></copyright><language>en-US</language><generator>Squarespace Site Server v5.9.2 (http://www.squarespace.com/)</generator><item><title>Published today: Apache MyFaces 1.2 Web Application Development</title><category>Apache</category><category>ExtVal</category><category>Facelets</category><category>JSF</category><category>Java EE</category><category>MyFaces</category><category>Tomahawk</category><category>Trinidad</category><category>book</category><dc:creator>Bart Kummel</dc:creator><pubDate>Wed, 03 Mar 2010 12:21:05 +0000</pubDate><link>http://www.bartkummel.net/journal/2010/3/3/published-today-apache-myfaces-12-web-application-developmen.html</link><guid isPermaLink="false">288024:2935749:6894692</guid><description><![CDATA[Today my book, <a title="Apache MyFaces 1.2 Web Application Development" href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank">Apache MyFaces 1.2 Web Application Development</a>, is published! Of course this is a big event for me, after working on it for nearly 1.5 years. The book can be <a title="Order here: Apache MyFaces 1.2 Web Application Development" href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank">ordered</a> from the website of <a title="Packt Publishing - the publisher of Apache MyFaces 1.2 Web Application Development" href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank">Packt Publishing</a> and will be available trough the major (online) book stores shortly.
]]></description><wfw:commentRss>http://www.bartkummel.net/journal/rss-comments-entry-6894692.xml</wfw:commentRss></item><item><title>New skin for Trinidad</title><category>Apache</category><category>JSF</category><category>Java</category><category>Java EE</category><category>MyFaces</category><category>Trinidad</category><category>book</category><dc:creator>Bart Kummel</dc:creator><pubDate>Tue, 02 Feb 2010 16:38:20 +0000</pubDate><link>http://www.bartkummel.net/journal/2010/2/2/new-skin-for-trinidad.html</link><guid isPermaLink="false">288024:2935749:6434381</guid><description><![CDATA[<span class="full-image-float-left ssNonEditable"><span><img style="width: 250px;" src="http://www.bartkummel.net/storage/images/Cassablanca.png?__SQUARESPACE_CACHEVERSION=1265128348472" alt="" /></span></span><a href="http://myfaces.apache.org/trinidad/" target="_blank">Apache </a><a href="http://myfaces.apache.org/trinidad/" target="_blank">MyFaces</a><a href="http://myfaces.apache.org/trinidad/" target="_blank"> Trinidad</a> is a widely used JSF component set. It is featured in the <a href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank">upcoming book on Apache MyFaces</a>,&nbsp;written by me. The benefits of Trinidad include a <a href="http://myfaces.apache.org/trinidad/trinidad-api/tagdoc.html" target="_blank">large choice of components</a>, <a href="http://myfaces.apache.org/trinidad/devguide/ppr.html" target="_blank">built-in Ajax</a> and <a href="http://myfaces.apache.org/trinidad/devguide/skinning.html" target="_blank">extensive skinning possibilities</a>. Until now, one of the shortcomings of Trinidad has been the lack of a good looking open source skin.
]]></description><wfw:commentRss>http://www.bartkummel.net/journal/rss-comments-entry-6434381.xml</wfw:commentRss></item><item><title>New book on Apache MyFaces coming up!</title><category>Apache</category><category>ExtVal</category><category>Facelets</category><category>JEE</category><category>JSF</category><category>Java</category><category>MyFaces</category><category>Orchestra</category><category>Tomahawk</category><category>Trinidad</category><category>book</category><dc:creator>Bart Kummel</dc:creator><pubDate>Mon, 07 Dec 2009 14:11:20 +0000</pubDate><link>http://www.bartkummel.net/journal/2009/12/7/new-book-on-apache-myfaces-coming-up.html</link><guid isPermaLink="false">288024:2935749:6008051</guid><description><![CDATA[<p><span class="full-image-float-left ssNonEditable"><span><a href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank"><img src="http://www.bartkummel.net/storage/images/3254_cover_small.jpg?__SQUARESPACE_CACHEVERSION=1264520812283" alt="" /></a></span></span>For over a year I have been working on a book about the <a title="MyFaces project home page" href="http://myfaces.apache.org/" target="_blank">Apache MyFaces project</a> for <a title="Packt Publishing website" href="http://www.packtpub.com/" target="_blank">Packt Publishing</a>. The book is nearing completion and is <a title="Apache MyFaces book information page" href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank">expected to be released February 2010</a>.</p>
<p>The book will be covering the <a title="Apache MyFaces Tomahawk project page" href="http://myfaces.apache.org/tomahawk/" target="_blank">Tomahawk</a>, <a title="Apache MyFaces Trinidad project page" href="http://myfaces.apache.org/trinidad/" target="_blank">Trinidad</a>, <a title="Apache MyFaces Orchestra project page" href="http://myfaces.apache.org/orchestra/" target="_blank">Orchestra</a> and <a title="Apache MyFaces Extensions Validator project page" href="http://myfaces.apache.org/extensions/validator/" target="_blank">Extensions Validator</a> subprojects of MyFaces. Throughout the book, <a title="Facelets project home page" href="https://facelets.dev.java.net/" target="_blank">Facelets</a> will be used as view technology. That makes the book not only an essential resource for developers that use MyFaces, but also an excellent source of Facelets examples.</p>
<p>You can find more information about the contents of the book at the <a title="Apache MyFaces book information page" href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank">information page</a> over on the Packt Publishing website. You can also pre order the book via this website.</p>
]]></description><wfw:commentRss>http://www.bartkummel.net/journal/rss-comments-entry-6008051.xml</wfw:commentRss></item><item><title>Oracle ADF: set focus to input field in data table</title><category>ADF</category><category>JEE</category><category>JSF</category><category>Java</category><category>Oracle</category><category>workaround</category><dc:creator>Bart Kummel</dc:creator><pubDate>Mon, 09 Nov 2009 19:50:00 +0000</pubDate><link>http://www.bartkummel.net/journal/2009/11/9/oracle-adf-set-focus-to-input-field-in-data-table.html</link><guid isPermaLink="false">288024:2935749:5744525</guid><description><![CDATA[<p>At my current client we had the first user acceptance test of a new Oracle ADF application. We have a lot of data entry pages in our application, where database records are presented in editable tables. Each table has a tool bar, with a &#8220;Create new record&#8221; button on it. One of the things the users noticed during the test, is that when they created a new record, the new record showed up in the table and was selected, but the first input field in the record didn&#8217;t have the input focus. I looked for a setting in ADF to set the input focus after creating a new record, but didn&#8217;t find anything. So I created my own solution&#8230;</p>
]]></description><wfw:commentRss>http://www.bartkummel.net/journal/rss-comments-entry-5744525.xml</wfw:commentRss></item><item><title>Revisited: Oracle ADF and Virtual Private Database</title><category>ADF</category><category>JEE</category><category>Oracle</category><category>VPD</category><category>integration</category><dc:creator>Bart Kummel</dc:creator><pubDate>Wed, 22 Jul 2009 14:36:10 +0000</pubDate><link>http://www.bartkummel.net/journal/2009/7/22/revisited-oracle-adf-and-virtual-private-database.html</link><guid isPermaLink="false">288024:2935749:4711007</guid><description><![CDATA[<p>At the end of <a href="http://www.bartkummel.net/journal/2009/7/15/oracle-adf-and-virtual-private-database.html">my previous post</a>, I stated:</p>
<blockquote>
<p>There&rsquo;s one more thing I&rsquo;m not really sure of (yet). In <a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcstatemgmt.htm#sm0495">section 39.7</a> of their <a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/toc.htm">Fusion Middleware Developer&rsquo;s Guide</a>, Oracle shows a (in my opinion rather hacky) way to make sure Session information is saved between different incarnations of the ApplicationModule. I&rsquo;m not sure if this is needed in our approach, since we set the year at the start of each JSF lifecycle anyway. But I implemented it, &ldquo;just in case&rdquo;, it doesn&rsquo;t harm anyone.</p>
</blockquote>
<p>After my post, the <a href="http://forums.oracle.com/forums/thread.jspa?threadID=928318&amp;tstart=75">discussion on the Oracle Forum</a> continued. As <a href="http://forums.oracle.com/forums/profile.jspa?userID=467798">Anton</a> stated in <a href="http://forums.oracle.com/forums/message.jspa?messageID=3635431#3635431">his contribution</a> to the discussion, having a redundant solution potentially <em>does </em>harm the performance of the application as a whole. He also suggests that the solution with a PhaseListener may be worse in terms of performance than a ApplicationModule that has proper passivation/activation code in place (see <a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcstatemgmt.htm#sm0495">section 39.7</a> of the <a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/toc.htm">Fusion Middleware Developer&rsquo;s Guide</a>).</p>
<p class="sect3">Although I was not convinced about that immediately, I think Anton is actually rigtht. When using a PhaseListener, it is certain that the value in the ApplicationModule will be updated at every request from the browser. Passivation or activation on the other hand only occurs when the application module that comes from the application module pool is actually an other application module intance than the one that was used for the previous request. Only in a situation where there are very many users logged in, chances are that every request will be handled by a different application module instance. (See section <a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcstatemgmt.htm#ADFFD1288">39.2.2.1</a>, <a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcstatemgmt.htm#ADFFD1288">Understanding When Passivation and Activation Occurs</a> in the developers guide.)</p>
<p class="sect3">The only way to prove any influence on performance would be to carry out some benchmark, but that seems a whole lot of work to do right. But I did a test with and without the PhaseListener to see if there were any functional differences, and I couldn&#8217;t find any. In other words, once the passivation/activation code is in place, the PhaseListener does not add anything useful anymore. And because the passivation/activation solution is (at least theoretuically) better, performanc-wise, I decided to remove the PhaseListener from my application.</p>
<p>&nbsp;</p>
]]></description><wfw:commentRss>http://www.bartkummel.net/journal/rss-comments-entry-4711007.xml</wfw:commentRss></item><item><title>Oracle ADF and Virtual Private Database</title><category>ADF</category><category>JEE</category><category>Java</category><category>Oracle</category><category>Persistence</category><category>VPD</category><category>database</category><category>integration</category><dc:creator>Bart Kummel</dc:creator><pubDate>Wed, 15 Jul 2009 20:27:00 +0000</pubDate><link>http://www.bartkummel.net/journal/2009/7/15/oracle-adf-and-virtual-private-database.html</link><guid isPermaLink="false">288024:2935749:4627312</guid><description><![CDATA[<p>As you probably know, <a href="http://www.oracle.com/technology/products/adf/index.html">Oracle ADF</a> is a complete JEE application development framework from Oracle. It is targetted at companies that already have an Oracle Database and perhaps legacy applications developed with Oracle&#8217;s &#8220;Forms&#8221; technology. The client I&#8217;m working for at the moment is such a company, and we&#8217;re developing an application in ADF that is going to replace (a part of) their Forms application eventually.</p>
<p>One would expect a framework designed by Oracle for use with an Oracle database to have excellent support for specific features of the Oracle database. For a lot of features this is true, but at my client&#8217;s, we were unlucky to have chosen to use a database feature that is not supported that well in ADF. That is &#8220;out of the box&#8221;. Wit a lot of &#8220;trial and error&#8221; and some <a href="http://forums.oracle.com/forums/thread.jspa?threadID=928318">help</a> from <a href="http://forums.oracle.com/forums/profile.jspa?userID=480262">some</a> <a href="http://forums.oracle.com/forums/profile.jspa?userID=425459">experts</a> at the forum on Oracle&#8217;s <a href="http://otn.oracle.com">Technology Network</a>, I managed to get it working. Read on to find out what problems I encountered and how I solved them.</p>
]]></description><wfw:commentRss>http://www.bartkummel.net/journal/rss-comments-entry-4627312.xml</wfw:commentRss></item><item><title>Apache MyFaces Extensions Validator introduced</title><category>Apache</category><category>ExtVal</category><category>JEE</category><category>JSF</category><category>Java</category><category>MyFaces</category><dc:creator>Bart Kummel</dc:creator><pubDate>Thu, 08 Jan 2009 07:00:00 +0000</pubDate><link>http://www.bartkummel.net/journal/2009/1/8/apache-myfaces-extensions-validator-introduced.html</link><guid isPermaLink="false">288024:2935749:2815798</guid><description><![CDATA[<p><span class="full-image-float-left ssNonEditable"><span><img src="http://3.bp.blogspot.com/_JO_w8kWegc4/SUUpLbuK-3I/AAAAAAAAALI/0GJR1odrclc/s400/extval_logo_proposal.gif?__SQUARESPACE_CACHEVERSION=1231402154777" alt="" /></span></span>In a typical Java EE web application, there&#8217;s almost always the problem of where to put the validation. Of course there&#8217;s only one place where validation belongs: in the <a href="http://en.wikipedia.org/wiki/Model-view-controller#As_a_design_pattern">model</a>. So if you&#8217;re e.g. using <a href="http://java.sun.com/products/ejb/">EJB </a>as <a href="http://java.sun.com/javaee/technologies/persistence.jsp">persistence layer</a>, the EJB Entities is where the validation code belongs. However, from a usability point of view, one never wants to leave all validation out of the UI code. This often leads to duplicate validation code. While not ideal, duplicate validation code is often considered as inevitable.</p>
<p>Yesterday I stumled upon <a href="http://myfaces.apache.org/extensions/validator/">Apache MyFaces Extensions Validator</a> (<a href="http://wiki.apache.org/myfaces/ExtVal">a.k.a. ExtVal</a>, <a href="http://os890.blogspot.com/2008/07/sev-en-continues-at-myfaces.html">formerly sev-en</a>), a JSF based solution that looks very promising. I did not have a chance to try it myself yet, but it promises some nice things:</p>
]]></description><wfw:commentRss>http://www.bartkummel.net/journal/rss-comments-entry-2815798.xml</wfw:commentRss></item><item><title>RegEx testers compared</title><category>Java</category><category>RegEx</category><category>Tools</category><dc:creator>Bart Kummel</dc:creator><pubDate>Sat, 29 Nov 2008 14:26:44 +0000</pubDate><link>http://www.bartkummel.net/journal/2008/11/29/regex-testers-compared.html</link><guid isPermaLink="false">288024:2935749:2617964</guid><description><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Regular_expressions">Regular Expressions</a> are a very powerful tool for developers. The can be used for various jobs. A common use is for validation of user input agains a pattern. This can be done in code (using a method from the <a href="http://java.sun.com/javase/6/docs/api/java/util/regex/package-summary.html">java.util.regex</a> package) or e.g. with a JSF validator component (either <a href="http://andrej.racchvs.com/archives/2004/03/25/jsf-a-regular-expression-validator">home brew</a> or <a href="http://myfaces.apache.org/trinidad/trinidad-1_2/trinidad-api/tagdoc/tr_validateRegExp.html">ready made</a>). Another use for regular expressions is doing advanced search-and-replace operations on (e.g.) source code. Most IDEs and the more advanced text editors offer search-and-replace based on regular expressions.</p>
<p>Whatever job you use regular expressions for, one thing is for sure: composing a regular expression is never easy. Therefore, testing a regular expression before using it is always a good idea. There are a lot of online regular expression testers out there. I tried some of the more advanced ones recently and thought it was a good idea to share my findings.</p>
]]></description><wfw:commentRss>http://www.bartkummel.net/journal/rss-comments-entry-2617964.xml</wfw:commentRss></item><item><title>JFall 2008</title><category>Conference</category><category>Java</category><category>NLJUG</category><dc:creator>Bart Kummel</dc:creator><pubDate>Sat, 15 Nov 2008 09:14:00 +0000</pubDate><link>http://www.bartkummel.net/journal/2008/11/15/jfall-2008.html</link><guid isPermaLink="false">288024:2935749:2562479</guid><description><![CDATA[<p>Last wednesday, I visited <a href="http://www.nljug.org/jfall/">JFall 2008</a>, the half yearly conference of the Dutch Java User Group, <a href="http://www.nljug.org/">NLJUG</a>. It was held in <a href="http://www.spant.org">Spant!</a>, a theatre in Bussum, The Netherlands. There were many interesting sessions and I thought it might be interesting to share my opinion about the sessions I attended.</p>
<p><span class="full-image-block ssNonEditable"><span><a href="http://www.nljug.org/pages/events/content/jfall_2008/" target="_blank"><img src="http://www.bartkummel.net/storage/images/jfall2008.jpg?__SQUARESPACE_CACHEVERSION=1226666130789" alt="" /></a></span></span></p>
]]></description><wfw:commentRss>http://www.bartkummel.net/journal/rss-comments-entry-2562479.xml</wfw:commentRss></item><item><title>Patch for debug bug in Facelets</title><category>Facelets</category><category>JEE</category><category>JSF</category><dc:creator>Bart Kummel</dc:creator><pubDate>Sun, 09 Nov 2008 15:45:59 +0000</pubDate><link>http://www.bartkummel.net/journal/2008/11/9/patch-for-debug-bug-in-facelets.html</link><guid isPermaLink="false">288024:2935749:2541522</guid><description><![CDATA[<p>Are you still using JSP as view technology for you JSF pages? You shouldn&#8217;t! Although not an official standard (yet), <a href="https://facelets.dev.java.net/">Facelets</a> offers many advantages over JSP. Facelets adds templating and an easy way to create &#8216;composition components&#8217;, just to name two of the most important benefits.</p>
<p>Another very useful feature is the debug option. By just adding something like</p>
<pre name="code" class="xml">&lt;ui:debug hotkey="p" rendered="true"/&gt;</pre>
<p>to your page, you can now display a debug window at runtime by just pressing CTRL + SHIFT + P in your browser window. Unfortunately, there&#8217;s a little bug in this debug window, preventing one of the expandable sections to expand.
]]></description><wfw:commentRss>http://www.bartkummel.net/journal/rss-comments-entry-2541522.xml</wfw:commentRss></item></channel></rss>