<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://consultingblogs.emc.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">niallp</title><subtitle type="html" /><id>http://consultingblogs.emc.com/niallpemberton/atom.aspx</id><link rel="alternate" type="text/html" href="http://consultingblogs.emc.com/niallpemberton/default.aspx" /><link rel="self" type="application/atom+xml" href="http://consultingblogs.emc.com/niallpemberton/atom.aspx" /><generator uri="http://communityserver.org" version="2.1.20423.1">Community Server</generator><updated>2009-05-21T00:57:00Z</updated><entry><title>Eclipse 3.7 Release comes with Maven</title><link rel="alternate" type="text/html" href="http://consultingblogs.emc.com/niallpemberton/archive/2011/06/23/eclipse-3-7-release-comes-with-maven.aspx" /><id>http://consultingblogs.emc.com/niallpemberton/archive/2011/06/23/eclipse-3-7-release-comes-with-maven.aspx</id><published>2011-06-22T23:55:00Z</published><updated>2011-06-22T23:55:00Z</updated><content type="html">&lt;A title="The Eclipse Foundation" href="http://www.eclipse.org/"&gt;Eclipse&lt;/A&gt; 3.7 (Indigo) has been &lt;A title="Eclipse 3.7 release announcement" href="http://www.eclipse.org/org/press-release/20110622indigo.php"&gt;released&lt;/A&gt; and it now comes with built in &lt;A href="http://maven.apache.org/"&gt;Apache Maven&lt;/A&gt; support through the &lt;A href="http://www.eclipse.org/m2e/"&gt;M2E plugin&lt;/A&gt;. The M2E plugin, originally developed by &lt;A href="http://www.sonatype.com/"&gt;Sonatype&lt;/A&gt;, was &lt;A href="http://www.sonatype.com/people/2010/12/m2e-at-eclipse-what-will-this-mean-for-you/"&gt;donated&lt;/A&gt; to The Eclipse Foundation. Now its made into its first release it has finally become one of the standard Eclipse tools.&lt;img src="http://consultingblogs.emc.com/aggbug.aspx?PostID=18522" width="1" height="1"&gt;</content><author><name>Niall.Pemberton</name><uri>http://consultingblogs.emc.com/members/Niall.Pemberton.aspx</uri></author><category term="ASF" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/ASF/default.aspx" /><category term="Open Source" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Open+Source/default.aspx" /><category term="Maven" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Maven/default.aspx" /><category term="M2E" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/M2E/default.aspx" /><category term="Eclipse" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Eclipse/default.aspx" /></entry><entry><title>Wikipedia edited to mislead</title><link rel="alternate" type="text/html" href="http://consultingblogs.emc.com/niallpemberton/archive/2011/03/06/wikipedia-edited-to-mislead.aspx" /><id>http://consultingblogs.emc.com/niallpemberton/archive/2011/03/06/wikipedia-edited-to-mislead.aspx</id><published>2011-03-06T20:27:00Z</published><updated>2011-03-06T20:27:00Z</updated><content type="html">&lt;P&gt;My wife's a fan of the ITV's &lt;A href="http://dancingonice.itv.com/" target=_blank&gt;Dancing on Ice&lt;/A&gt;&amp;nbsp;show. Tonight they had a competition where the question was &lt;EM&gt;What soap is &lt;/EM&gt;&lt;A href="http://suzanneshawofficial.com/" target=_blank&gt;&lt;EM&gt;Suzanne Shaw&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; currently starring in?&lt;/EM&gt; Just after the question was broadcast, someone edited (twice) the &lt;A href="http://en.wikipedia.org/wiki/Suzanne_Shaw"&gt;Wikipedia page for Suzanne Shaw&lt;/A&gt; changing the &lt;A href="http://www.itv.com/soaps/emmerdale/" target=_blank&gt;Emerdale&lt;/A&gt; references to &lt;A href="http://www.e4.com/hollyoaks/"&gt;Hollyoaks&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;The good thing was that it was only 6 minutes before someone else had corrected the entry back to what it should have been.&lt;/P&gt;&lt;img src="http://consultingblogs.emc.com/aggbug.aspx?PostID=18266" width="1" height="1"&gt;</content><author><name>Niall.Pemberton</name><uri>http://consultingblogs.emc.com/members/Niall.Pemberton.aspx</uri></author></entry><entry><title>Commons Lang 2.6 released</title><link rel="alternate" type="text/html" href="http://consultingblogs.emc.com/niallpemberton/archive/2011/01/20/commons-lang-2-6-released.aspx" /><id>http://consultingblogs.emc.com/niallpemberton/archive/2011/01/20/commons-lang-2-6-released.aspx</id><published>2011-01-20T16:43:00Z</published><updated>2011-01-20T16:43:00Z</updated><content type="html">
&lt;p&gt;&lt;span style="widows:2;text-transform:none;text-indent:0px;border-collapse:separate;font:medium Tahoma,Arial,Helvetica;white-space:normal;orphans:2;letter-spacing:normal;word-spacing:0px;" class="Apple-style-span"&gt;&lt;span style="text-align:justify;line-height:20px;font-size:13px;" class="Apple-style-span"&gt;The&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://commons.apache.org/" target="_blank"&gt;Apache Commons&lt;/a&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;team has&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://markmail.org/message/kvib3ey2syjq5hnz" title="Commons Lang 2.6 Announcement" target="_blank"&gt;announced&lt;/a&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;the release of&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://commons.apache.org/lang/" title="Commons Lang Website" target="_blank"&gt;Commons Lang&lt;/a&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;2.6 which can be downloaded&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://commons.apache.org/lang/download_lang.cgi" title="Commons Lang Download Page" target="_blank"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;See the &lt;a href="http://commons.apache.org/lang/upgradeto2_6.html" title="Lang 2.6 Release Notes" target="_blank"&gt;Release Notes&lt;/a&gt; for details of changes / bug fixes in the release. &lt;br&gt;&lt;/p&gt;&lt;img src="http://consultingblogs.emc.com/aggbug.aspx?PostID=18167" width="1" height="1"&gt;</content><author><name>Niall.Pemberton</name><uri>http://consultingblogs.emc.com/members/Niall.Pemberton.aspx</uri></author><category term="Java" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Java/default.aspx" /><category term="ASF" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/ASF/default.aspx" /><category term="Open Source" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Open+Source/default.aspx" /></entry><entry><title>Commons IO 2.0.1 Released</title><link rel="alternate" type="text/html" href="http://consultingblogs.emc.com/niallpemberton/archive/2011/01/01/commons-io-2-0-1-released.aspx" /><id>http://consultingblogs.emc.com/niallpemberton/archive/2011/01/01/commons-io-2-0-1-released.aspx</id><published>2011-01-01T16:33:00Z</published><updated>2011-01-01T16:33:00Z</updated><content type="html">&lt;SPAN style="WIDOWS:2;TEXT-TRANSFORM:none;TEXT-INDENT:0px;BORDER-COLLAPSE:separate;FONT:medium Tahoma, Arial, Helvetica;WHITE-SPACE:normal;ORPHANS:2;LETTER-SPACING:normal;WORD-SPACING:0px;-webkit-border-horizontal-spacing:0px;-webkit-border-vertical-spacing:0px;-webkit-text-decorations-in-effect:none;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;" class=Apple-style-span&gt;&lt;SPAN style="TEXT-ALIGN:justify;LINE-HEIGHT:20px;FONT-SIZE:13px;" class=Apple-style-span&gt;The&lt;SPAN class=Apple-converted-space&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="http://commons.apache.org/" target=_blank&gt;Apache Commons&lt;/A&gt;&lt;SPAN class=Apple-converted-space&gt;&amp;nbsp;&lt;/SPAN&gt;team has&lt;SPAN class=Apple-converted-space&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A title="Commons IO 2.0.1 Announcement" href="http://markmail.org/message/t7xs3rnnygnqk64j" target=_blank&gt;announced&lt;/A&gt;&lt;SPAN class=Apple-converted-space&gt;&amp;nbsp;&lt;/SPAN&gt;the release of&lt;SPAN class=Apple-converted-space&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A title="Commons IO Website" href="http://commons.apache.org/io/" target=_blank&gt;Commons IO&lt;/A&gt;&lt;SPAN class=Apple-converted-space&gt;&amp;nbsp;&lt;/SPAN&gt;2.0.1 which can be downloaded&lt;SPAN class=Apple-converted-space&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A title="Commons IO Download Page" href="http://commons.apache.org/io/download_io.cgi" target=_blank&gt;here&lt;/A&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;img src="http://consultingblogs.emc.com/aggbug.aspx?PostID=18094" width="1" height="1"&gt;</content><author><name>Niall.Pemberton</name><uri>http://consultingblogs.emc.com/members/Niall.Pemberton.aspx</uri></author><category term="Java" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Java/default.aspx" /><category term="ASF" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/ASF/default.aspx" /><category term="Open Source" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Open+Source/default.aspx" /></entry><entry><title>Java 7 &amp; 8 Votes pass but 2 more EC members resign</title><link rel="alternate" type="text/html" href="http://consultingblogs.emc.com/niallpemberton/archive/2010/12/10/java-7-amp-8-votes-passes-but-2-more-ec-members-resign.aspx" /><id>http://consultingblogs.emc.com/niallpemberton/archive/2010/12/10/java-7-amp-8-votes-passes-but-2-more-ec-members-resign.aspx</id><published>2010-12-10T21:03:00Z</published><updated>2010-12-10T21:03:00Z</updated><content type="html">&lt;p&gt;The votes for Java 7 (&lt;a title="JSR 336 Vote Results" target="_blank" href="http://www.jcp.org/en/jsr/results?id=5111"&gt;JSR 336&lt;/a&gt;) and Java 8 (&lt;a title="JSR 337 Vote Results" target="_blank" href="http://www.jcp.org/en/jsr/results?id=5112"&gt;JSR 337&lt;/a&gt;) both passed but with 3 of the Executive Committee(EC) voting against and half of those voicing their displeasure at the &lt;a title="Open Letter from the Apache Software Foundation to Sun Microsystems" target="_blank" href="http://www.apache.org/jcp/sunopenletter.html"&gt;continuing Java licensing dispute&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Following the vote two more Executive Committee (EC) members of the Java Community Process (JCP) resigned. Doug Lee resigned in October and now Tim Peierls and &lt;a target="_blank" href="http://www.apache.org/"&gt;The Apache Software Foundation&lt;/a&gt; have followed:&lt;/p&gt;&lt;span style="WIDOWS:2;TEXT-TRANSFORM:none;TEXT-INDENT:0px;BORDER-COLLAPSE:separate;FONT:medium 'Times New Roman';WHITE-SPACE:normal;ORPHANS:2;LETTER-SPACING:normal;WORD-SPACING:0px;-webkit-border-horizontal-spacing:0px;-webkit-border-vertical-spacing:0px;-webkit-text-decorations-in-effect:none;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;" class="Apple-style-span"&gt;&lt;ul&gt;&lt;li&gt;&lt;a target="_blank" href="http://gee.cs.oswego.edu/dl/html/jcp22oct10.html"&gt;Doug Lea's resignation statement&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target="_blank" href="http://tembrel.blogspot.com/2010/12/resigned-from-ec.html"&gt;Tim Peierls's resignation statement&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target="_blank" href="https://blogs.apache.org/foundation/entry/the_asf_resigns_from_the"&gt;The Apache Software Foundation's resignation statement&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stephen Colebourne has a great post titled &lt;a target="_blank" href="http://www.jroller.com/scolebourne/entry/is_the_jcp_dead"&gt;Is the JCP Dead?&lt;/a&gt; which goes into the background of the issue.&lt;/p&gt;&lt;/span&gt;&lt;img src="http://consultingblogs.emc.com/aggbug.aspx?PostID=18004" width="1" height="1"&gt;</content><author><name>Niall.Pemberton</name><uri>http://consultingblogs.emc.com/members/Niall.Pemberton.aspx</uri></author><category term="Java" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Java/default.aspx" /><category term="ASF" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/ASF/default.aspx" /><category term="JCP" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/JCP/default.aspx" /></entry><entry><title>Commons IO 2.0 Released</title><link rel="alternate" type="text/html" href="http://consultingblogs.emc.com/niallpemberton/archive/2010/10/23/commons-io-2-0-released.aspx" /><id>http://consultingblogs.emc.com/niallpemberton/archive/2010/10/23/commons-io-2-0-released.aspx</id><published>2010-10-23T17:11:00Z</published><updated>2010-10-23T17:11:00Z</updated><content type="html">&lt;P&gt;The &lt;A href="http://commons.apache.org/" target=_blank&gt;Apache Commons&lt;/A&gt; team has &lt;A title="Commons IO 2.0 Announcement" href="http://markmail.org/message/vbwgyc32s2fozn7p" target=_blank&gt;announced&lt;/A&gt; the release of &lt;A title="Commons IO Website" href="http://commons.apache.org/io/" target=_blank&gt;Commons IO&lt;/A&gt; 2.0 which can be downloaded &lt;A title="Commons IO Download Page" href="http://commons.apache.org/io/download_io.cgi" target=_blank&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Commons IO is a library&amp;nbsp;that&amp;nbsp;contains utility classes, stream implementations, file filters, file comparators&amp;nbsp;and components for dealing with IO operations. The &lt;A title="Commons IO 2.0 Release Notes" href="http://commons.apache.org/io/upgradeto2_0.html" target=_blank&gt;release notes&lt;/A&gt;&amp;nbsp;contains the &amp;nbsp;full details of the enhancements and bug fixes in IO 2.0, but&amp;nbsp;below is a&amp;nbsp;summary of whats new:&lt;/P&gt;
&lt;H3&gt;Java 5&lt;/H3&gt;
&lt;P&gt;Commons IO 2.0 has moved to JDK 1.5 allowing improvements both internally and in the external API. Except for the new minimum JDK requirement, however,&amp;nbsp;it is&amp;nbsp;otherwise backwards compatible with the previous release, which required JDK 1.3.&lt;/P&gt;
&lt;H3&gt;Streams, Readers &amp;amp; Writers&lt;/H3&gt;
&lt;P&gt;There are a number of new &lt;A title="Input package JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/input/package-summary.html" target=_blank&gt;InputStream / Reader&lt;/A&gt; and &lt;A title="Ouput package JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/output/package-summary.html" target=_blank&gt;OutputStream / Writer&lt;/A&gt; implementations in IO 2.0:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A title="BOMInputStream JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/input/BOMInputStream.html" target=_blank&gt;BOMInputStream&lt;/A&gt; (and its associated &lt;A title="ByteOrderMark JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/ByteOrderMark.html" target=_blank&gt;ByteOrderMark&lt;/A&gt;) - wraps a stream and provides functionality to detect and/or exclude a &lt;A title="Wikipedia - Byte Order Mark" href="http://en.wikipedia.org/wiki/Byte_order_mark" target=_blank&gt;Byte Order Mark&lt;/A&gt;.&lt;/LI&gt;
&lt;LI&gt;&lt;A title="XmlStreamReader JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/input/XmlStreamReader.html" target=_blank&gt;XmlStreamReader&lt;/A&gt; and &lt;A title="XmlStreamWriter JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/output/XmlStreamWriter.html" target=_blank&gt;XmlStreamWriter&lt;/A&gt; provide wrapper&amp;nbsp;implementations that detect the encoding of XML documents&lt;/LI&gt;
&lt;LI&gt;&lt;A title="ReaderInputStream JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/input/ReaderInputStream.html" target=_blank&gt;ReaderInputStream&lt;/A&gt; and &lt;A title="WriterOutputStream JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/output/WriterOutputStream.html" target=_blank&gt;WriterOutputStream&lt;/A&gt; provide wrappers to convert from Readers/Writers to Input/OutputStreams - these implementations are typically used in situations where an existing API only accepts a stream, but where the stream contains character data that must be encoded/decoded for further use.&lt;/LI&gt;
&lt;LI&gt;&lt;A title="TaggedInputStream JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/input/TaggedInputStream.html" target=_blank&gt;TaggedInputStream&lt;/A&gt;&amp;nbsp;and &lt;A title="TaggedOutputStream JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/output/TaggedOutputStream.html" target=_blank&gt;TaggedOutputStream&lt;/A&gt; provide a mechanism to tag an exception so that the stream causing it can be easily identified&lt;/LI&gt;
&lt;LI&gt;&lt;A title="BoundedInputStream JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/input/BoundedInputStream.html"&gt;BoundedInputStream&lt;/A&gt; limits the bytes read from a stream&lt;/LI&gt;
&lt;LI&gt;&lt;A title="StringBuilderWriter JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/output/StringBuilderWriter.html" target=_blank&gt;StringBuilderWriter&lt;/A&gt; provides an &lt;EM&gt;un-synchronized&lt;/EM&gt; alternative to &lt;A href="http://download.oracle.com/javase/6/docs/api/java/io/StringWriter.html" target=_blank&gt;StringWriter&lt;/A&gt;.&lt;/LI&gt;
&lt;LI&gt;&lt;A title="BrokenInputStream JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/input/BrokenInputStream.html" target=_blank&gt;BrokenInputStream&lt;/A&gt; and &lt;A title="BrokenOutputStream JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/output/BrokenOutputStream.html" target=_blank&gt;BrokenOutputStream&lt;/A&gt; can be used to test stream exception handling (all their methods throw an exception)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;As well as these new streams the &lt;EM&gt;&lt;STRONG&gt;Proxy&lt;/STRONG&gt;&lt;/EM&gt; &lt;A title="ProxyInputStream JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/input/ProxyInputStream.html" target=_blank&gt;InputStream&lt;/A&gt;, &lt;A title="ProxyOutputStream JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/output/ProxyOutputStream.html" target=_blank&gt;OutputStream&lt;/A&gt;, &lt;A title="ProxyReader JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/input/ProxyReader.html" target=_blank&gt;Reader&lt;/A&gt; &amp;amp; &lt;A title="ProxyWriter JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/output/ProxyWriter.html" target=_blank&gt;Writer&lt;/A&gt; implementations have had exception handling and pre/post processing support added.&lt;/P&gt;
&lt;H3&gt;File Alteration Monitor&lt;/H3&gt;
&lt;P&gt;The &lt;A title="File Alteration Monitor JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/monitor/package-summary.html" target=_blank&gt;File Alteration Monitor&lt;/A&gt; is a component for monitoring file system events (directory and file create, update and delete events). It originated in the &lt;A title="Commons JCI FAM module" href="http://commons.apache.org/jci/commons-jci-fam/index.html" target=_blank&gt;JCI FAM module&lt;/A&gt; but has been refactored to improve performance and allow selective monitoring of the file system using &lt;A title="Commons IO FileFilter implementations" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/filefilter/package-summary.html" target=_blank&gt;filters&lt;/A&gt;. See the &lt;A href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/monitor/FileAlterationObserver.html" target=_blank&gt;FileAlterationObserver JavaDocs&lt;/A&gt; for examples of how to use this component.&lt;/P&gt;
&lt;H3&gt;Tailer&lt;/H3&gt;
&lt;P&gt;The &lt;A title="Tailer JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/input/Tailer.html" target=_blank&gt;Tailer&lt;/A&gt; component is a&amp;nbsp;simple implementation of the &lt;A title="Wikipedia - Unix Tail" href="http://en.wikipedia.org/wiki/Tail_(Unix)" target=_blank&gt;unix "tail -f"&lt;/A&gt; functionality. Register a &lt;A title="TailerListener JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/input/TailerListener.html" target=_blank&gt;TailerListener&lt;/A&gt; implementation to be notified of new lines in a file.&lt;/P&gt;
&lt;H3&gt;Utilities&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;&lt;A title="IOUtils JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/IOUtils.html" target=_blank&gt;IOUtils&lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;New &lt;A title="Closeable JavaDocs" href="http://download.oracle.com/javase/6/docs/api/java/io/Closeable.html" target=_blank&gt;Closeable&lt;/A&gt; and &lt;A title="Socket JavaDocs" href="http://download.oracle.com/javase/6/docs/api/java/net/Socket.html" target=_blank&gt;Socket&lt;/A&gt; flavour implementations of the &lt;CODE&gt;closeQuietly()&lt;/CODE&gt; method&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;New &lt;CODE&gt;skipFully()&lt;/CODE&gt; methods for InputStreams and Readers&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;
&lt;DIV&gt;A new &lt;CODE&gt;toBufferedInputStream()&lt;/CODE&gt; method that avoids unnecessary array allocation/copy&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;
&lt;DIV&gt;&lt;A title="FileUtils JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/FileUtils.html" target=_blank&gt;FileUtils&lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;A new &lt;CODE&gt;isSymlink()&lt;/CODE&gt; method to detect sym links&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;
&lt;DIV&gt;A new &lt;CODE&gt;sizeOf(File)&lt;/CODE&gt; method which, if the file is a directory, sums the sizes of the files recursively&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;New methods for getting the system's home directory&amp;nbsp;file or path&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;New methods for getting the system's temporary directory file or path&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;
&lt;DIV&gt;&lt;A title="FilenameUtils JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/FilenameUtils.html" target=_blank&gt;FilenameUtils&lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;New flavours of the&amp;nbsp;&lt;CODE&gt;normalize()&lt;/CODE&gt; and &lt;CODE&gt;normalizeNoEndSeparator()&lt;/CODE&gt; methods where the separator can be specified&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;
&lt;DIV&gt;&lt;A title="FileSystemUtils JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/FileSystemUtils.html" target=_blank&gt;FileSystemUtils&lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;
&lt;DIV&gt;New implementation of the &lt;CODE&gt;freeSpaceKb()&lt;/CODE&gt; method that has no arguments&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;
&lt;DIV&gt;
&lt;DIV&gt;New implementations of the &lt;CODE&gt;freeSpaceKb()&lt;/CODE&gt; methods that take a &lt;EM&gt;timeout&lt;/EM&gt; parameter&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;H3&gt;Comparators&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;All the &lt;A href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/comparator/package-summary.html" target=_blank&gt;comparator implementations&lt;/A&gt; now include &lt;EM&gt;convenience&lt;/EM&gt; methods for sorting lists or arrays&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;A new &lt;A title="CompositeFileComparator JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/comparator/CompositeFileComparator.html" target=_blank&gt;CompositeFileComparator&lt;/A&gt; implementation has been added which allows two or more file comparators to be combined&lt;/LI&gt;
&lt;LI&gt;A new &lt;A title="DirectoryFileComparator JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/comparator/DirectoryFileComparator.html" target=_blank&gt;DirectoryFileComparator&lt;/A&gt; implementation has been added which compares files based on whether a file is a directory or not&lt;/LI&gt;&lt;/UL&gt;
&lt;H3&gt;File Filters&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;A new &lt;A title="MagicNumberFileFilter JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/filefilter/MagicNumberFileFilter.html"&gt;Magic Number file filter&lt;/A&gt; has been added which matches files containing a "magic number"&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;&lt;A title="FileFilterUtils JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/filefilter/FileFilterUtils.html" target=_blank&gt;FileFilterUtils&lt;/A&gt; has the following additions:&lt;/DIV&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;New methods for creating name, prefix and suffix filters whether the &lt;A title="IOCase JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/IOCase.html" target=_blank&gt;case sensitivity&lt;/A&gt; is specified.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;New methods to filter arrays, lists and sets&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;New varargs methods for creating &lt;A title="AndFileFilter JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/filefilter/AndFileFilter.html" target=_blank&gt;AndFileFilter&lt;/A&gt; and &lt;A title="OrFileFilter JavaDocs" href="http://commons.apache.org/io/api-2.0/index.html?org/apache/commons/io/filefilter/OrFileFilter.html" target=_blank&gt;OrFileFilter&lt;/A&gt; instances&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;img src="http://consultingblogs.emc.com/aggbug.aspx?PostID=17837" width="1" height="1"&gt;</content><author><name>Niall.Pemberton</name><uri>http://consultingblogs.emc.com/members/Niall.Pemberton.aspx</uri></author><category term="Java" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Java/default.aspx" /><category term="ASF" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/ASF/default.aspx" /><category term="Open Source" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Open+Source/default.aspx" /></entry><entry><title>Maven Hits the Sweet Spot!</title><link rel="alternate" type="text/html" href="http://consultingblogs.emc.com/niallpemberton/archive/2010/10/10/maven-hits-the-sweet-spot.aspx" /><id>http://consultingblogs.emc.com/niallpemberton/archive/2010/10/10/maven-hits-the-sweet-spot.aspx</id><published>2010-10-10T18:53:00Z</published><updated>2010-10-10T18:53:00Z</updated><content type="html">&lt;P&gt;The &lt;A title="Apache Maven project" href="http://maven.apache.org/" target=_blank&gt;Maven&lt;/A&gt; team has &lt;A title="Maven 3 Announcement" href="http://s.apache.org/m3" target=_blank&gt;announced&lt;/A&gt;&amp;nbsp;the release of &lt;A title="Maven 3.0 documentation" href="https://cwiki.apache.org/MAVEN/maven-3x.html" target=_blank&gt;Maven 3.0&lt;/A&gt;, which can be downloaded &lt;A title="Download Maven 3.0" href="http://maven.apache.org/download.html" target=_blank&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I used to see Maven as a useful &lt;EM&gt;tool for producing consistent builds&lt;/EM&gt; but that started to change with version 0.9.7 of &lt;A title="Maven Eclipse Plugin" href="http://m2eclipse.sonatype.org/" target=_blank&gt;M2Eclipse&lt;/A&gt;&amp;nbsp;(&lt;EM&gt;current&lt;/EM&gt; &lt;EM&gt;version is 0.10.0&lt;/EM&gt;). Maven's&amp;nbsp;integration with&amp;nbsp;&lt;A title="Eclipse IDE" href="http://www.eclipse.org/" target=_blank&gt;Eclipse&lt;/A&gt;&amp;nbsp;through&amp;nbsp;the M2Eclipse&amp;nbsp;plugin makes it an important &lt;EM&gt;productivity tool&lt;/EM&gt;&amp;nbsp;enabling, for example, easy checkout and&amp;nbsp;project setup. Good IDE integration was not possible with Maven 2 and was one of the reasons the &lt;A href="http://maven.apache.org/team-list.html" target=_blank&gt;Maven Team&lt;/A&gt; decided to rewrite version 3 with a complete new architecture. The M2Eclipse plugin (and &lt;A title="NetBeans IDE" href="http://netbeans.org/" target=_blank&gt;NetBeans&lt;/A&gt; integration) has been based on Maven 3 code for a while.&lt;/P&gt;
&lt;H3&gt;Whats New?&lt;/H3&gt;
&lt;P&gt;The best new features of Maven 3 are internal and the real&amp;nbsp;benefits of this release are the possibilities it opens up for features in the future. &lt;A title="Jason van Zyl's blog" href="http://www.sonatype.com/people/author/jason/" target=_blank&gt;Jason van Zyl&lt;/A&gt; (&lt;EM&gt;founder of maven&lt;/EM&gt;) talks about them in this&amp;nbsp;&lt;A title="Jason van Zyl talking about Maven 3 in March 2009" href="http://vimeo.com/4156556" target=_blank&gt;video&lt;/A&gt;&amp;nbsp;and &lt;A title="Maven 3.x: Paving the desire lines — Part One" href="http://www.sonatype.com/people/2009/11/maven-3x-paving-the-desire-lines-part-one-2/" target=_blank&gt;blog&lt;/A&gt;, but these include things such as &lt;A title="Maven 3.0 Project Model and Mixins" href="http://www.sonatype.com/people/2008/11/maven-project-model/" target=_blank&gt;mixins&lt;/A&gt; (&lt;EM&gt;pom composition&lt;/EM&gt;, rather than &lt;EM&gt;inheritance&lt;/EM&gt;) and &lt;A title="Ployglot Maven" href="http://polyglot.sonatype.org/" target=_blank&gt;different format poms&lt;/A&gt;. Having said that there are improvements in &lt;EM&gt;performance&lt;/EM&gt; (including &lt;EM&gt;parallel builds&lt;/EM&gt;) and &lt;EM&gt;error and integrity reporting&lt;/EM&gt; that make it worth upgrading. The other area the Maven team have put in a big effort are in integration tests to minimise the &lt;A title="Maven 3.x Compatibility Notes" href="https://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html" target=_blank&gt;issues of upgrading&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;The one area that is lagging in Maven 3 is reporting. The reporting section of the pom has been removed and report plugins now have to be configured in as part of the &lt;A href="https://cwiki.apache.org/MAVEN/maven-3x-and-site-plugin.html#Maven3.xandsiteplugin-NewConfiguration" target=_blank&gt;Site plugin's configuration&lt;/A&gt;. This requires a &lt;A href="https://cwiki.apache.org/MAVEN/maven-3x-and-site-plugin.html" target=_blank&gt;Maven 3 specific version of the Site plugin&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Even if you decide not to upgrade at the moment, try building your project with Maven 3 and fix the issues it reports. The &lt;EM&gt;error and integrity reporting&lt;/EM&gt; catches more errors,&amp;nbsp;displays better error messages &amp;amp; line numbers and provides links to &lt;A title="Maven Errors and Solutions" href="https://cwiki.apache.org/confluence/display/MAVEN/Errors+and+Solutions" target=_blank&gt;help&lt;/A&gt; on the error.&lt;/P&gt;
&lt;H3&gt;Upgrading&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;Read the &lt;A href="https://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html" target=_blank&gt;Compatibility Notes&lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;Upgrade&amp;nbsp;the plugin versions - see the &lt;A href="https://cwiki.apache.org/MAVEN/maven-3x-plugin-compatibility-matrix.html" target=_blank&gt;Plugin Compatibility Matrix&lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;
&lt;DIV&gt;Test the build with Maven 3, resolving any warnings or errors in the output&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;
&lt;DIV&gt;Upgrade the reporting plugin versions - see &lt;A href="https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+and+site+plugin#Maven3.xandsiteplugin-PluginsCompatibilityMatrix" target=_blank&gt;Site Plugin Compatibility Matrix&lt;/A&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;Configure the new &lt;A href="https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+and+site+plugin" target=_blank&gt;Maven 3 Site plugin&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;Test the site generation&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;EM&gt;(Note: I encountered &lt;/EM&gt;&lt;A title="Support adding and overriding report plugins in the new Maven Site plugin" href="http://jira.codehaus.org/browse/MSITE-484" target=_blank&gt;&lt;EM&gt;MSITE-484&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; when inheriting reporting configuration in a sub module,&amp;nbsp;which the suggested &lt;/EM&gt;&lt;A title="Maven FAQs-1" href="http://docs.codehaus.org/display/MAVENUSER/FAQs-1#FAQs-1-HowdoImergealistofconfigurationitemsinaparentPOMwiththoseinachildPOM%3F" target=_blank&gt;&lt;EM&gt;combine.chlidren="append"&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;&amp;nbsp;solution resolved. The Site plugin is currently version 3.0-beta-2 and the maven team are &lt;/EM&gt;&lt;A title="Email from Dennis Lundberg, maven committer" href="http://markmail.org/message/kqle62zksa3szfe3" target=_blank&gt;&lt;EM&gt;working to improve the situation&lt;/EM&gt;&lt;/A&gt;)&lt;EM&gt;.&lt;/EM&gt;&lt;/P&gt;
&lt;H3&gt;Related Links&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;&lt;A href="https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x" target=_blank&gt;Maven 3 Documentation&lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A title="Brett Porter's blog on the Maven 3 release" href="http://brettporter.wordpress.com/2010/10/09/apache-maven-3-0-released-a-few-important-tips/" target=_blank&gt;Apache Maven 3.0 Released: a Few Important Tips&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;&lt;A title="InfoQ article on the Maven 3 release" href="http://www.infoq.com/news/2010/10/maven-30-released" target=_blank&gt;InfoQ: Maven 3.0 Released&lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://consultingblogs.emc.com/aggbug.aspx?PostID=17774" width="1" height="1"&gt;</content><author><name>Niall.Pemberton</name><uri>http://consultingblogs.emc.com/members/Niall.Pemberton.aspx</uri></author><category term="Java" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Java/default.aspx" /><category term="ASF" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/ASF/default.aspx" /><category term="Open Source" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Open+Source/default.aspx" /><category term="Maven" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Maven/default.aspx" /></entry><entry><title>Creating an implementation of the Bean Validation specification (JSR303)</title><link rel="alternate" type="text/html" href="http://consultingblogs.emc.com/niallpemberton/archive/2009/10/23/creating-an-implementation-of-the-bean-validation-specification-jsr303.aspx" /><id>http://consultingblogs.emc.com/niallpemberton/archive/2009/10/23/creating-an-implementation-of-the-bean-validation-specification-jsr303.aspx</id><published>2009-10-23T03:14:00Z</published><updated>2009-10-23T03:14:00Z</updated><content type="html">&lt;P&gt;&lt;A class="" title="Bean Validation Specification" href="http://jcp.org/en/jsr/detail?id=303" target=_blank&gt;JSR 303&lt;/A&gt;&amp;nbsp;is the &lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Arial','sans-serif';mso-fareast-font-family:'Times New Roman';mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;specification &lt;/SPAN&gt;request for Bean &lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Arial','sans-serif';mso-fareast-font-family:'Times New Roman';mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Validation &lt;/SPAN&gt;which is currently undergoing the Final Approval Ballot (due to complete on 2nd November 2009).&lt;/P&gt;
&lt;P&gt;The reference implementation for the JSR (Hibernate Validator 4) was &lt;A class="" title="Emmanuel Bernard's blog announcing Hibernate Validator 4" href="http://in.relation.to/Bloggers/HibernateValidator4Unleashed" target=_blank&gt;recently released&lt;/A&gt;&amp;nbsp;under the &lt;A class="" href="http://www.apache.org/licenses/LICENSE-2.0" target=_blank&gt;Apache License 2.0&lt;/A&gt;&amp;nbsp;and is &lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Arial','sans-serif';mso-fareast-font-family:'Times New Roman';mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;available &lt;/SPAN&gt;to download &lt;A class="" title="Hibernate Download Page" href="https://www.hibernate.org/6.html" target=_blank&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;A &lt;A class="" title="Mohammad Nour El-Din" href="http://commons.markmail.org/message/o44fiojizllbwfuv" target=_blank&gt;couple&lt;/A&gt; of &lt;A class="" title="Donald Woods" href="http://commons.markmail.org/message/lhu6mpqctzsmbjui" target=_blank&gt;people&lt;/A&gt;&amp;nbsp;have expressed an interest in creating a version 2 of &lt;A class="" title="Apache Commons Validator" href="http://commons.apache.org/validator/" target=_blank&gt;Commons Validator&lt;/A&gt; based on the Bean Validation specification and an area in the &lt;A class="" href="http://svn.apache.org/repos/asf/commons/sandbox/validator2/" target=_blank&gt;Commons Sandbox&lt;/A&gt;&amp;nbsp;has been setup to do this. Until recently, not much progress had been made, so I decided to try and kick start the effort with the following &lt;A class="" title="Proposal for Validator2 based on JSR 303" href="http://commons.markmail.org/message/edwzeu3ogje7fb2z" target=_blank&gt;proposal&lt;/A&gt; to the &lt;A class="" href="http://commons.apache.org/validator/mail-lists.html" target=_blank&gt;Commons dev mailing list&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;In summary the idea is to have three modules:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;A class="" title="Bean Validation API module" href="http://svn.apache.org/repos/asf/commons/sandbox/validator2/branches/alternative/validation-api/" target=_blank&gt;Bean Validation API&lt;/A&gt; - a new &lt;EM&gt;&lt;STRONG&gt;clean room&lt;/STRONG&gt;&lt;/EM&gt; implementation of the JSR 303 API -&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;DONE&lt;/EM&gt;&lt;/STRONG&gt; but needs javadocs&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" title="Validation Routines module" href="http://svn.apache.org/repos/asf/commons/sandbox/validator2/branches/alternative/validation-routines/" target=_blank&gt;Validation Routines&lt;/A&gt; - based on the existing Validator &lt;A class="" title="Routines package javadocs" href="http://commons.apache.org/validator/apidocs/org/apache/commons/validator/routines/package-summary.html" target=_blank&gt;routines&lt;/A&gt;&amp;nbsp;&amp;amp; &lt;A class="" title="Checkdigit package javadocs" href="http://commons.apache.org/validator/apidocs/org/apache/commons/validator/routines/checkdigit/package-summary.html" target=_blank&gt;checkdigit&lt;/A&gt;&amp;nbsp;packages, these are standalone routines with no dependencies (including JSR 303) - &lt;STRONG&gt;&lt;EM&gt;DONE&lt;/EM&gt;&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" title="Valdation Framework module" href="http://svn.apache.org/repos/asf/commons/sandbox/validator2/branches/alternative/validation-framework/" target=_blank&gt;Validation Framework&lt;/A&gt; - A new validation framework implementation based on the JSR303 implementation (depends on API and routines modules) - &lt;STRONG&gt;&lt;EM&gt;NOT YET STARTED&lt;/EM&gt;&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;So anyone interested in helping create a JSR 303 implementation is welcome to join in at Apache Commons (&lt;STRONG&gt;N.B.&lt;/STRONG&gt; access to Commons Sandbox is available to &lt;STRONG&gt;ANY&lt;/STRONG&gt; existing &lt;STRONG&gt;Apache committer&lt;/STRONG&gt; - you just have to &lt;A class="" title="Commit access for Apache committers" href="http://markmail.org/message/z2yppifcj7idklpo" target=_blank&gt;ask&lt;/A&gt;).&lt;/P&gt;&lt;img src="http://consultingblogs.emc.com/aggbug.aspx?PostID=16445" width="1" height="1"&gt;</content><author><name>Niall.Pemberton</name><uri>http://consultingblogs.emc.com/members/Niall.Pemberton.aspx</uri></author><category term="Java" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Java/default.aspx" /><category term="ASF" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/ASF/default.aspx" /></entry><entry><title>London Java Web User Group's 5th Anniversary </title><link rel="alternate" type="text/html" href="http://consultingblogs.emc.com/niallpemberton/archive/2009/05/21/javawug-5th-anniversary.aspx" /><id>http://consultingblogs.emc.com/niallpemberton/archive/2009/05/21/javawug-5th-anniversary.aspx</id><published>2009-05-20T23:57:00Z</published><updated>2009-05-20T23:57:00Z</updated><content type="html">&lt;P&gt;The London &lt;A class="" href="http://www.jroller.com/javawug/"&gt;Java Web User Group&lt;/A&gt; (&lt;STRONG&gt;JAVAWUG&lt;/STRONG&gt;) held its 48th meetup tonight hosted, for the first time, by EMC Consulting at our London Bridge office.&lt;/P&gt;
&lt;P&gt;It was the fifth anniversary since the group started and its come a long way since 2004 when it was the Struts London Meetup with five or six of us having a few beers and a chat. Most of us have moved on from &lt;A class="" href="http://struts.apache.org/"&gt;Struts&lt;/A&gt; and so has the User Group with talks on a wide range of java related topics and technologies. Kudos to &lt;A class="" href="http://www.jroller.com/peter_pilgrim/"&gt;Peter Pilgrim&lt;/A&gt; who has run this from the start and turned it into a success. Hopefully EMC can play a small part in helping that to continue.&lt;/P&gt;
&lt;P&gt;Tonight’s meeting was an &lt;EM&gt;open mike&lt;/EM&gt; style with five short talks. The first was a demonstration of custom JavaFX components built for a &lt;A class="" href="http://www.jroller.com/peter_pilgrim/entry/project_goliath_part_3_soundkit"&gt;BBC sound emulator&lt;/A&gt; (Peter Pilgrim),&amp;nbsp;followed by a demonstration of dodgy hacks of JDK classes (Peter Lawrey) and an intro to &lt;A class="" href="http://jasperforge.org/plugins/project/project_home.php?group_id=102"&gt;Jasper Reports&lt;/A&gt; (Phil Zoio). The star of the evening for me though was Cagatay Civici's demonstration of the &lt;A class="" href="http://primefaces.prime.com.tr/en/"&gt;PrimeFaces&lt;/A&gt; Ajax JSF component library and I hope there’s an opportunity for him to come back and give a full presentation because it looked impressive. Paul King wrapped up the evening with a quick overview of the highlights in &lt;A class="" href="http://groovy.codehaus.org/"&gt;groovy&lt;/A&gt; 1.6 and whats upcoming in 1.7.&lt;/P&gt;
&lt;P&gt;To be honest I'm not a big fan of the &lt;EM&gt;open mike&lt;/EM&gt; style since there isn't enough time to go into any depth, but it was a good event with a reasonable turn out and the only hitch for our first time hosting &lt;A class="" href="http://www.jroller.com/javawug/"&gt;JavaWUG&lt;/A&gt; was a lack of wifi access.&lt;BR&gt;&lt;/P&gt;&lt;img src="http://consultingblogs.emc.com/aggbug.aspx?PostID=15240" width="1" height="1"&gt;</content><author><name>Niall.Pemberton</name><uri>http://consultingblogs.emc.com/members/Niall.Pemberton.aspx</uri></author><category term="Java" scheme="http://consultingblogs.emc.com/niallpemberton/archive/tags/Java/default.aspx" /></entry></feed>