<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11400790</id><updated>2011-12-05T06:11:03.247+01:00</updated><category term='vba'/><category term='xml'/><category term='grails'/><category term='cleanup'/><category term='excel'/><category term='groovy'/><category term='joomla'/><category term='file version'/><category term='maven'/><category term='eclipse'/><category term='selenium'/><category term='testing'/><category term='workspace'/><category term='webtest'/><category term='screencast'/><title type='text'>Software Engineering</title><subtitle type='html'>Questions, Ideas and Thoughts around Software Development</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tomi</name><uri>http://www.blogger.com/profile/02147477006691719230</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_T-_bRtPHLpM/SfhOmJOSw_I/AAAAAAAAAAM/NoYT72m20T0/S220/tomischuetz.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>72</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11400790.post-2840897159514584777</id><published>2010-02-17T09:08:00.004+01:00</published><updated>2010-02-17T09:15:50.051+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>Recursive search on the filesystem for the content of a log-file</title><content type='html'>I had the following problem lately:&lt;br /&gt;&lt;br /&gt;On a test server I was looking for a log-file on the installation path and/or one of its sub-folders with some information about a "session timeout".&lt;br /&gt;&lt;br /&gt;I didn't know the the log-files name, but new, that it had the extension ".log". I also didn't know which exception was was creating the entry. All I had, was the string "session timeout".&lt;br /&gt;&lt;br /&gt;With the following Groovy script I could find all the log-files containing the string "session timeout" and from there it was easy to identify the log-file.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: js"&gt;&lt;br /&gt;def dir = 'C:/some_installation_folder'&lt;br /&gt;def fileExtension = '.log'&lt;br /&gt;def searchString = 'session timeout'&lt;br /&gt;&lt;br /&gt;new File(dir).eachFileRecurse() { f -&gt;&lt;br /&gt;    if (f.directory) {&lt;br /&gt;        def p = ~/.*\${fileExtension}/&lt;br /&gt;        f.eachFileMatch(p) { log -&gt;&lt;br /&gt;            def exceptions = []&lt;br /&gt;&lt;br /&gt;            log.eachLine { ln -&gt;&lt;br /&gt;                if (ln =~ '.*' + searchString + '.*') {&lt;br /&gt;                    exceptions &lt;&lt; "${ln}"&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            if (!exceptions.empty) {&lt;br /&gt;                println log&lt;br /&gt;                exceptions.each{println "    $it"}&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Enjoy! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-2840897159514584777?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/2840897159514584777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=2840897159514584777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/2840897159514584777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/2840897159514584777'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2010/02/recursive-search-on-filesystem-for.html' title='Recursive search on the filesystem for the content of a log-file'/><author><name>Tomi</name><uri>http://www.blogger.com/profile/02147477006691719230</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_T-_bRtPHLpM/SfhOmJOSw_I/AAAAAAAAAAM/NoYT72m20T0/S220/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-2739762797382922578</id><published>2010-01-19T11:44:00.010+01:00</published><updated>2010-01-22T15:41:39.953+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='excel'/><category scheme='http://www.blogger.com/atom/ns#' term='vba'/><title type='text'>Date Format Fix in Excel 2003</title><content type='html'>Due to an issue in Excel 2003, sometime the date formats are not updated in the cells, which leads to the problem, that a cell shows a date but is not read as a date by macros and formulas.&lt;br /&gt;&lt;br /&gt;You could go through each cell, press 'F2' and 'Enter' and Excel would finally identify the content of the cell as a date. But this you would do manually and not by script.&lt;br /&gt;&lt;br /&gt;With the following VBA script for Excel, the format can be updated:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: js"&gt;&lt;br /&gt;Sub UpdateColumnFormat()&lt;br /&gt;&lt;br /&gt;    Dim usedRangeOfRows As Integer&lt;br /&gt;    usedRangeOfRows = ActiveSheet.UsedRange.Rows.Count&lt;br /&gt;    &lt;br /&gt;    'Date&lt;br /&gt;    Columns("A:A").Select&lt;br /&gt;    Dim e As Range&lt;br /&gt;    Dim currentValueE As Date&lt;br /&gt;    For Each e In Range("A2:A" &amp; usedRangeOfRows).Cells&lt;br /&gt;        e.Select&lt;br /&gt;        currentValueE = ActiveCell.Value&lt;br /&gt;        ActiveCell.FormulaR1C1 = currentValueE&lt;br /&gt;    Next&lt;br /&gt;    &lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This problem occurs regularly, when I copy data from one sheet to another by VBA scripts.&lt;br /&gt;&lt;br /&gt;With the above script, I could fix (at least work around it) this issue.&lt;br /&gt;&lt;br /&gt;Enjoy :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-2739762797382922578?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/2739762797382922578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=2739762797382922578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/2739762797382922578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/2739762797382922578'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2010/01/date-format-fix-in-excel-2003.html' title='Date Format Fix in Excel 2003'/><author><name>Tomi</name><uri>http://www.blogger.com/profile/02147477006691719230</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_T-_bRtPHLpM/SfhOmJOSw_I/AAAAAAAAAAM/NoYT72m20T0/S220/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-5807462953707419373</id><published>2010-01-18T17:30:00.002+01:00</published><updated>2010-01-22T15:55:54.838+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='excel'/><category scheme='http://www.blogger.com/atom/ns#' term='vba'/><title type='text'>"Create List..." in Excel 2003 with VBA</title><content type='html'>While working on data within Excel with VBA, I like to use dynamic lists to address the data and eventually to give it a name.&lt;br /&gt;&lt;br /&gt;To create a list, the same one as you would do manually by calling "Create List..." from the context menu, you can execute the VBA script below.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: js"&gt;&lt;br /&gt;Private Sub CreateList()&lt;br /&gt;&lt;br /&gt;    Range("A1").Select&lt;br /&gt;    &lt;br /&gt;    Range(Selection, Selection.End(xlDown)).Select&lt;br /&gt;    Range(Selection, Selection.End(xlToRight)).Select&lt;br /&gt;    &lt;br /&gt;    Dim NumberOfColumns As Integer&lt;br /&gt;    Dim NumberOfRows As Integer&lt;br /&gt;    Dim StartCell As Range&lt;br /&gt;    Dim EndCell As Range&lt;br /&gt;    &lt;br /&gt;    NumberOfColumns = ActiveSheet.UsedRange.Columns.Count&lt;br /&gt;    NumberOfRows = ActiveSheet.UsedRange.Rows.Count&lt;br /&gt;    &lt;br /&gt;    Set StartCell = Cells(1, 1)&lt;br /&gt;    Set EndCell = Cells(NumberOfRows, NumberOfColumns)&lt;br /&gt;    &lt;br /&gt;    Dim DataRange As Range&lt;br /&gt;    Set DataRange = Range(StartCell, EndCell)&lt;br /&gt;    &lt;br /&gt;    ActiveSheet.ListObjects.Add(xlSrcRange, DataRange, , xlYes).Name = "List1"&lt;br /&gt;    Range(StartCell, EndCell).Select&lt;br /&gt;    ActiveWorkbook.Names.Add Name:="Data", RefersToR1C1:=DataRange&lt;br /&gt;    Range("Data").Select&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I also give the list the name "Data", which I do to access the data by name afterwords, but this is not required to create the list.&lt;br /&gt;&lt;br /&gt;Enjoy :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-5807462953707419373?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/5807462953707419373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=5807462953707419373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/5807462953707419373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/5807462953707419373'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2010/01/create-list-in-excel-2003-with-vba.html' title='&quot;Create List...&quot; in Excel 2003 with VBA'/><author><name>Tomi</name><uri>http://www.blogger.com/profile/02147477006691719230</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_T-_bRtPHLpM/SfhOmJOSw_I/AAAAAAAAAAM/NoYT72m20T0/S220/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-7500807989858080350</id><published>2009-09-21T22:36:00.004+02:00</published><updated>2010-01-14T13:55:18.928+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='file version'/><category scheme='http://www.blogger.com/atom/ns#' term='excel'/><category scheme='http://www.blogger.com/atom/ns#' term='vba'/><title type='text'>Read File Properties with Excel VBA</title><content type='html'>The VBA script for Excel below will read the 'File Version' from the file properties and will read file name and its version each into a column in a Excel sheet.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: js"&gt;&lt;br /&gt;Sub getFileProductVersion()&lt;br /&gt;&lt;br /&gt;   Dim objShell  As Shell&lt;br /&gt;   Dim objFolder As Folder&lt;br /&gt;   Dim objFolderItems As FolderItems&lt;br /&gt;   Dim objFolderItem As FolderItem&lt;br /&gt;   Dim numberOfFiles As Long&lt;br /&gt;   Dim i As Integer&lt;br /&gt;   Dim j As Integer&lt;br /&gt;&lt;br /&gt;   Set objShell = New Shell&lt;br /&gt;   Set objFolder = objShell.Namespace("C:\Temp\files")&lt;br /&gt;&lt;br /&gt;   If (Not objFolder Is Nothing) Then&lt;br /&gt;       Set objFolderItems = objFolder.Items()&lt;br /&gt;       numberOfFiles = objFolderItems.Count&lt;br /&gt;       Range("A1").Select&lt;br /&gt;&lt;br /&gt;       For i = 0 To numberOfFiles - 1&lt;br /&gt;           Set objFolderItem = objFolderItems.Item(i)&lt;br /&gt;           ActiveCell.Offset(i, 0) = objFolderItem.Name&lt;br /&gt;           ActiveCell.Offset(i, 1) = objFolder.GetDetailsOf(objFolderItem, 39)&lt;br /&gt;       Next i&lt;br /&gt;&lt;br /&gt;   End If&lt;br /&gt;&lt;br /&gt;   Set objFolder = Nothing&lt;br /&gt;   Set objShell = Nothing&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Enjoy :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-7500807989858080350?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/7500807989858080350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=7500807989858080350' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/7500807989858080350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/7500807989858080350'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2009/09/read-file-properties-with-excel-vba.html' title='Read File Properties with Excel VBA'/><author><name>Tomi</name><uri>http://www.blogger.com/profile/02147477006691719230</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_T-_bRtPHLpM/SfhOmJOSw_I/AAAAAAAAAAM/NoYT72m20T0/S220/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-2163400931292121609</id><published>2009-09-21T21:43:00.018+02:00</published><updated>2010-01-14T13:54:10.489+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webtest'/><title type='text'>How to specify the browser that should be used in WebTest</title><content type='html'>In WebTest it is possible to define which browser shall be simulated. Currently WebTest support the following browsers:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Firefox3 (or FF3)&lt;/li&gt;&lt;li&gt;Firefox2 (or FF2)&lt;/li&gt;&lt;li&gt;InternetExplorer6 (or IE6)&lt;/li&gt;&lt;li&gt;InternetExplorer7 (or IE7)&lt;/li&gt;&lt;/ul&gt;To get a more detailed list, have a look at the WebTest config page (http://webtest.canoo.com/webtest/manual/config.html).&lt;br /&gt;&lt;br /&gt;As you can see in the simple example below, it is very easy to define the simulated browser for your test:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: js"&gt;&lt;br /&gt;&lt;project name="test" default="all" basedir="."&gt;&lt;br /&gt;  &lt;target name="all"&gt; &lt;br /&gt;      &lt;webtest name="browser version: configure FF2"&gt;&lt;br /&gt;          &lt;config browser="FF2"&gt;&lt;br /&gt;&lt;br /&gt;          'Here goes your test code...'&lt;br /&gt;&lt;br /&gt;      &lt;/config&gt;&lt;br /&gt;  &lt;/webtest&gt;&lt;br /&gt;&lt;/target&gt;&lt;br /&gt;&lt;/project&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This example is an extract from a browser test of the self test suite of WebTest. For more details, have a look a the self test suite (https://svn.canoo.com/trunk/webtest/selftests/).&lt;br /&gt;&lt;br /&gt;Enjoy :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-2163400931292121609?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/2163400931292121609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=2163400931292121609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/2163400931292121609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/2163400931292121609'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2009/09/how-to-specify-browser-that-should-be.html' title='How to specify the browser that should be used in WebTest'/><author><name>Tomi</name><uri>http://www.blogger.com/profile/02147477006691719230</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_T-_bRtPHLpM/SfhOmJOSw_I/AAAAAAAAAAM/NoYT72m20T0/S220/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-4349580941963916041</id><published>2009-08-12T22:00:00.007+02:00</published><updated>2010-01-14T14:09:38.907+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webtest'/><title type='text'>How to create a WebTest project in less than a minute</title><content type='html'>Assuming you have &lt;a href="http://webtest.canoo.com/"&gt;WebTest&lt;/a&gt; &lt;a href="http://webtest.canoo.com/webtest/manual/install.html"&gt;installed&lt;/a&gt; you can create a WebTest project in less than a minute:&lt;br /&gt;&lt;br /&gt;Go to the directory where you want to create the WebTest project&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;E.g.: &lt;br /&gt;&lt;pre class="brush: js"&gt;&lt;br /&gt;C:\projects&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Call the createProject task and provide a name for the project, e.g. myWebTestProject&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: js"&gt;&lt;br /&gt;C:\projects&gt;ant -f %WEBTEST_HOME%\webtest.xml wt.createProject&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Change to the project directory&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: js"&gt;&lt;br /&gt;C:\projects&gt;cd myWebTestProject&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Call WebTest&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: js"&gt;&lt;br /&gt;C:\projects\myWebTestProject&gt;webtest&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Done :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-4349580941963916041?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/4349580941963916041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=4349580941963916041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/4349580941963916041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/4349580941963916041'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2009/08/how-to-create-webtest-project-in-less.html' title='How to create a WebTest project in less than a minute'/><author><name>Tomi</name><uri>http://www.blogger.com/profile/02147477006691719230</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_T-_bRtPHLpM/SfhOmJOSw_I/AAAAAAAAAAM/NoYT72m20T0/S220/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-1663360370638141253</id><published>2009-08-11T20:03:00.006+02:00</published><updated>2009-08-11T20:45:19.761+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='joomla'/><category scheme='http://www.blogger.com/atom/ns#' term='webtest'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><title type='text'>Functional Testing for Joomla! with WebTest</title><content type='html'>&lt;a href="http://www.joomla.org/"&gt;Joomla!&lt;/a&gt; is a very popular open-source CMS based on PHP. It is simple to use and makes creating and maintaining Web sites easy for everyone, from total beginners setting  up their first site to IT professionals managing enterprise installations.&lt;br /&gt;&lt;br /&gt;Like many other projects (not only open-source projects) testing is not the most popular subject. However, testing is very crucial for every project to be able to grow and handle complexity within the project.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Functional_testing"&gt;Functional testing&lt;/a&gt; is one aspect of testing which can focus on the users perspective of using an application.&lt;br /&gt;&lt;br /&gt;I started a functional test suite for Joomla! with &lt;a href="http://webtest.canoo.com/"&gt;Canoo WebTest&lt;/a&gt;, an open-source tool for automated testing of web applications    in a very effective way.   &lt;br /&gt;&lt;br /&gt;If you would like to have a look at the current state of the work, see here:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Ftesting%2Ftrunk%2Ffunctionaltest%2Fwebtest%2F"&gt;http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Ftesting%2Ftrunk%2Ffunctionaltest%2Fwebtest%2F&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Some initial documentation can be found here:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://docs.joomla.org/Testing_Joomla%21_With_WebTest"&gt;http://docs.joomla.org/Testing_Joomla!_With_WebTest&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Enjoy :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-1663360370638141253?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/1663360370638141253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=1663360370638141253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/1663360370638141253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/1663360370638141253'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2009/08/functional-testing-for-joomla-with.html' title='Functional Testing for Joomla! with WebTest'/><author><name>Tomi</name><uri>http://www.blogger.com/profile/02147477006691719230</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_T-_bRtPHLpM/SfhOmJOSw_I/AAAAAAAAAAM/NoYT72m20T0/S220/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-5032284768338507019</id><published>2007-12-30T09:31:00.001+01:00</published><updated>2009-08-11T20:36:33.536+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='screencast'/><title type='text'>The Screencast Blog</title><content type='html'>Today I found the screencast blog, which provides a huge number of screencast which mostly show &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; features.&lt;br /&gt;&lt;br /&gt;Have a look, it's really interesting:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.thescreencast.com/"&gt;The Screencast Blog&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Tomi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-5032284768338507019?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/5032284768338507019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=5032284768338507019' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/5032284768338507019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/5032284768338507019'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2007/12/screencast-blog.html' title='The Screencast Blog'/><author><name>Tomi Schuetz</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-6374507338131059258</id><published>2007-12-06T08:13:00.002+01:00</published><updated>2009-08-11T20:34:34.237+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='grails'/><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>Groovy and Grails Posts &amp; Links</title><content type='html'>Some interesting posts &amp;amp; links:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.infoq.com/news/2007/12/intellij-idea-groovy-grails"&gt;http://www.infoq.com/news/2007/12/intellij-idea-groovy-grails&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://memo.feedlr.com/?p=4"&gt;http://memo.feedlr.com/?p=4&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javalobby.org/articles/groovy-intro3/"&gt;http://www.javalobby.org/articles/groovy-intro3/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Enjoy :)&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Tomi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-6374507338131059258?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/6374507338131059258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=6374507338131059258' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/6374507338131059258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/6374507338131059258'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2007/12/groovy-and-grails-posts-links-2007-12.html' title='Groovy and Grails Posts &amp; Links'/><author><name>Tomi Schuetz</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-4246927292824834901</id><published>2007-11-13T09:54:00.002+01:00</published><updated>2009-08-11T20:36:55.333+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webtest'/><category scheme='http://www.blogger.com/atom/ns#' term='screencast'/><title type='text'>WebTest Screencast: Data Driven WebTest</title><content type='html'>&lt;!-- Converted from text/rtf format --&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;We finally made it :) &lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Marc Guillemot (&lt;/span&gt;&lt;a href="http://mguillem.wordpress.com/"&gt;&lt;u&gt;&lt;span style="font-family:Arial;font-size:85%;color:#0000ff;"&gt;http://mguillem.wordpress.com/&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;) and I published the new WebTest (&lt;/span&gt;&lt;a href="http://webtest.canoo.com/"&gt;&lt;u&gt;&lt;span style="font-family:Arial;font-size:85%;color:#0000ff;"&gt;http://webtest.canoo.com/&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;) screencast showing&lt;b&gt; Data Driven WebTest&lt;/b&gt; based on Google Calculations.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;You can find the screencast here:&lt;/span&gt; &lt;/p&gt;  &lt;ul&gt; &lt;li&gt;&lt;a href="http://opensource.basehaus.com/webtest/screencasts/data-driven-webtest.htm"&gt;&lt;u&gt;&lt;span style="font-family:Arial;font-size:85%;color:#0000ff;"&gt;http://opensource.basehaus.com/webtest/screencasts/data-driven-webtest.htm&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;New screencasts will follow soon...&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Enjoy!&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Kind regards,&lt;/span&gt; &lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Tomi&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-4246927292824834901?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/4246927292824834901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=4246927292824834901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/4246927292824834901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/4246927292824834901'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2007/11/webtest-screencast-data-driven-webtest.html' title='WebTest Screencast: Data Driven WebTest'/><author><name>Tomi Schuetz</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-2297279040946613503</id><published>2007-11-06T09:07:00.001+01:00</published><updated>2009-08-11T20:37:10.778+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>Groovy Posts &amp; Links</title><content type='html'>&lt;!-- Converted from text/rtf format --&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;I'm following the Groovy (&lt;/span&gt;&lt;a href="http://groovy.codehaus.org/"&gt;&lt;u&gt;&lt;span style="font-family:Arial;font-size:85%;color:#0000ff;"&gt;http://groovy.codehaus.org/&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;) posts and links on &lt;/span&gt;&lt;a href="http://www.dzone.com/"&gt;&lt;u&gt;&lt;span style="font-family:Arial;font-size:85%;color:#0000ff;"&gt;http://www.dzone.com/&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt; and &lt;/span&gt;&lt;a href="http://del.icio.us/"&gt;&lt;u&gt;&lt;span style="font-family:Arial;font-size:85%;color:#0000ff;"&gt;http://del.icio.us/&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;. It is amazing, how the number of posts and saved URL's increased over the last couple months.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;If you would like to have a look at these, check the following links...&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;dzone&lt;/span&gt;&lt;/b&gt;  &lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.dzone.com/links/search.html?query=groovy&amp;amp;x=0&amp;amp;y=0"&gt;&lt;u&gt;&lt;span style="font-family:Arial;font-size:85%;color:#0000ff;"&gt;http://www.dzone.com/links/search.html?query=groovy&amp;amp;x=0&amp;amp;y=0&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt; &lt;p&gt;&lt;b&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;del.cio.us&lt;/span&gt;&lt;/b&gt;  &lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://del.icio.us/tag/groovy"&gt;&lt;u&gt;&lt;span style="font-family:Arial;font-size:85%;color:#0000ff;"&gt;http://del.icio.us/tag/groovy&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://del.icio.us/popular/groovy"&gt;&lt;u&gt;&lt;span style="font-family:Arial;font-size:85%;color:#0000ff;"&gt;http://del.icio.us/popular/groovy&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Enjoy reading!&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Regards,&lt;/span&gt; &lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Tomi&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-2297279040946613503?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/2297279040946613503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=2297279040946613503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/2297279040946613503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/2297279040946613503'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2007/11/groovy-posts-links.html' title='Groovy Posts &amp; Links'/><author><name>Tomi Schuetz</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-180763764715613683</id><published>2007-10-29T11:05:00.002+01:00</published><updated>2009-08-11T20:37:36.547+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webtest'/><category scheme='http://www.blogger.com/atom/ns#' term='selenium'/><title type='text'>WebTest vs. Selenium</title><content type='html'>&lt;!-- Converted from text/rtf format --&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Marc Guillemot compares the features of two popular open source testing tools: WebTest and Selenium!&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;A must read post! Very interesting!&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;[..] The maintainability of automated tests depends primarily on the skills of the test authors, but different tools have different features that impact their efficiency. This blog post compares the features of two open source automated web testing tools: Canoo WebTest and Selenium.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://mguillem.wordpress.com/2007/10/29/webtest-vs-selenium-webtest-wins-13-5/"&gt;&lt;u&gt;&lt;span style="font-family:Arial;font-size:85%;color:#0000ff;"&gt;http://mguillem.wordpress.com/2007/10/29/webtest-vs-selenium-webtest-wins-13-5/&lt;/span&gt;&lt;/u&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Enjoy!&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Regards,&lt;/span&gt; &lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Tomi&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-180763764715613683?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/180763764715613683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=180763764715613683' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/180763764715613683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/180763764715613683'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2007/10/webtest-vs-selenium.html' title='WebTest vs. Selenium'/><author><name>Tomi Schuetz</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-3444174299843195408</id><published>2007-09-10T23:11:00.001+02:00</published><updated>2009-08-11T20:37:56.127+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webtest'/><category scheme='http://www.blogger.com/atom/ns#' term='screencast'/><title type='text'>WebTest Screencast: New cast on its way...</title><content type='html'>Tonight we (&lt;a href="http://mguillem.wordpress.com/"&gt;Marc Guillemot&lt;/a&gt; and myself) were working on a new screencast for WebTest.  The new cast will be about data driven web testing.&lt;br /&gt;&lt;br /&gt;I'll try to bring the cast online till end of the week, or at least a first beta version :) As soon as I have it published, I'll post a new blog entry.&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Tomi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-3444174299843195408?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/3444174299843195408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=3444174299843195408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/3444174299843195408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/3444174299843195408'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2007/09/webtest-screencast-new-cast-on-its-way.html' title='WebTest Screencast: New cast on its way...'/><author><name>Tomi Schuetz</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-1032732630403017012</id><published>2007-08-22T07:53:00.002+02:00</published><updated>2009-08-11T20:38:16.722+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webtest'/><category scheme='http://www.blogger.com/atom/ns#' term='screencast'/><title type='text'>WebTest Screencast: Creating a first WebTest project</title><content type='html'>&lt;!-- Converted from text/rtf format --&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Marc Guillemot (&lt;/span&gt;&lt;a href="http://mguillem.wordpress.com/"&gt;&lt;u&gt;&lt;span style="font-family:Arial;font-size:85%;color:#0000ff;"&gt;http://mguillem.wordpress.com/&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;) and myself are working on some screencasts to show WebTest capabilities. The first screencast has been announced on the WebTest mailing list:&lt;/span&gt;&lt;/p&gt;  &lt;ul&gt; &lt;li&gt;&lt;a href="http://lists.canoo.com/pipermail/webtest/2007q3/008586.html"&gt;&lt;u&gt;&lt;span style="font-family:Arial;font-size:85%;color:#0000ff;"&gt;http://lists.canoo.com/pipermail/webtest/2007q3/008586.html&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;and can be found here:&lt;/span&gt; &lt;/p&gt;  &lt;ul&gt; &lt;li&gt;&lt;a href="http://opensource.basehaus.com/webtest/screencasts/creating-a-first-webtest-project.htm"&gt;&lt;u&gt;&lt;span style="font-family:Arial;font-size:85%;color:#0000ff;"&gt;http://opensource.basehaus.com/webtest/screencasts/creating-a-first-webtest-project.htm&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;We are looking forward to publish a couple more screencasts within the next few months. If there are special features you would like to see in the upcoming screencast, let me know :)&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Enjoy!&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Regards,&lt;/span&gt; &lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Tomi&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-1032732630403017012?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/1032732630403017012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=1032732630403017012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/1032732630403017012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/1032732630403017012'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2007/08/webtest-screencast-creating-first.html' title='WebTest Screencast: Creating a first WebTest project'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-5715637569822763831</id><published>2007-08-08T14:00:00.001+02:00</published><updated>2007-08-08T14:00:28.906+02:00</updated><title type='text'>Dealing with critics?</title><content type='html'>&lt;!-- Converted from text/rtf format --&gt;  &lt;P&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;There is an interesting post on Marc Guillemot's blog:&lt;/FONT&gt; &lt;/P&gt; &lt;UL&gt; &lt;P&gt;&lt;A HREF="http://mguillem.wordpress.com/2007/07/31/xpath-power-2-detect-lack-of-experience/"&gt;&lt;U&gt;&lt;FONT COLOR="#0000FF" SIZE=2 FACE="Arial"&gt;http://mguillem.wordpress.com/2007/07/31/xpath-power-2-detect-lack-of-experience/&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;/P&gt; &lt;/UL&gt; &lt;P&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;He's blog entry can be understood in a way, that the lack of XPath can be associated to the lack of test automation experience. If this relation is correct or not is not as interesting as the reaction which has raised based on his entry.&lt;/FONT&gt;&lt;/P&gt;  &lt;P&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;I'm very surprised, how personal this was taken, especially the comment of Neil: &lt;/FONT&gt;&lt;A HREF="http://mguillem.wordpress.com/2007/07/31/xpath-power-2-detect-lack-of-experience/#comment-16"&gt;&lt;U&gt;&lt;FONT COLOR="#0000FF" SIZE=2 FACE="Arial"&gt;http://mguillem.wordpress.com/2007/07/31/xpath-power-2-detect-lack-of-experience/#comment-16&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;. I would have expected more distance to such a statement and more tolerance.&lt;/FONT&gt;&lt;/P&gt;  &lt;P&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;My understanding of Marc's statement is, that the better an XPath expression is (better in the sense of robust), the better the tests are which might be based on the XPath expression. The first XPath statement Marc is quoting:&lt;/FONT&gt;&lt;/P&gt; &lt;UL&gt; &lt;P&gt;&lt;FONT SIZE=2 FACE="Courier New"&gt;/html/body/table[2]/tbody/tr/td[2]/table[2]/tbody/tr/td/div/ul[1]/li[4]&lt;/FONT&gt;  &lt;BR&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;from &lt;/FONT&gt;&lt;A HREF="http://agiletesting.blogspot.com/2006/01/useful-tools-for-writing-selenium.html"&gt;&lt;U&gt;&lt;FONT COLOR="#0000FF" SIZE=2 FACE="Arial"&gt;http://agiletesting.blogspot.com/2006/01/useful-tools-for-writing-selenium.html&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;/P&gt; &lt;/UL&gt; &lt;P&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;is not robust at all. If there a small change in the used tables or additional items in the lists, the test will break. If there is a relationship between robust and better, that this statement is not prefered and in this sense, I can understand the statement of Marc very well.&lt;/FONT&gt;&lt;/P&gt;  &lt;P&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;Regards,&lt;/FONT&gt;  &lt;BR&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;Tomi&lt;/FONT&gt; &lt;/P&gt; &lt;BR&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-5715637569822763831?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/5715637569822763831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=5715637569822763831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/5715637569822763831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/5715637569822763831'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2007/08/dealing-with-critics.html' title='Dealing with critics?'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-5999345223035049935</id><published>2007-08-02T11:21:00.001+02:00</published><updated>2007-08-02T11:21:16.171+02:00</updated><title type='text'>Groovy &amp; OpenOffice?</title><content type='html'>&lt;!-- Converted from text/rtf format --&gt;  &lt;P&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;There are some blog posts about Groovy as an extension within OpenOffice. It's quite interesting to read...&lt;/FONT&gt; &lt;/P&gt;  &lt;UL&gt; &lt;LI&gt;&lt;A HREF="http://www.ifcx.org/wiki/GroovyForOpenOffice.html"&gt;&lt;U&gt;&lt;FONT COLOR="#0000FF" SIZE=2 FACE="Arial"&gt;http://www.ifcx.org/wiki/GroovyForOpenOffice.html&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/LI&gt;  &lt;LI&gt;&lt;A HREF="http://wiki.services.openoffice.org/wiki/Extensions"&gt;&lt;U&gt;&lt;FONT COLOR="#0000FF" SIZE=2 FACE="Arial"&gt;http://wiki.services.openoffice.org/wiki/Extensions&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/LI&gt;  &lt;LI&gt;&lt;A HREF="http://www.infoq.com/news/2007/07/groovy-in-OpenOffice"&gt;&lt;U&gt;&lt;FONT COLOR="#0000FF" SIZE=2 FACE="Arial"&gt;http://www.infoq.com/news/2007/07/groovy-in-OpenOffice&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/LI&gt;  &lt;LI&gt;&lt;A HREF="http://lifehacker.com/software/windows/record-macros-in-openoffice-with-groovy-280472.php"&gt;&lt;U&gt;&lt;FONT COLOR="#0000FF" SIZE=2 FACE="Arial"&gt;http://lifehacker.com/software/windows/record-macros-in-openoffice-with-groovy-280472.php&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/LI&gt; &lt;BR&gt; &lt;/UL&gt; &lt;P&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;Enjoy :)&lt;/FONT&gt; &lt;/P&gt;  &lt;P&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;Regards,&lt;/FONT&gt;  &lt;BR&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;Tomi&lt;/FONT&gt; &lt;/P&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-5999345223035049935?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/5999345223035049935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=5999345223035049935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/5999345223035049935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/5999345223035049935'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2007/08/groovy-openoffice.html' title='Groovy &amp; OpenOffice?'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-4752036141233910539</id><published>2007-08-02T10:42:00.001+02:00</published><updated>2007-08-02T10:42:50.322+02:00</updated><title type='text'>Post on TheServerSide about HTMLUnit</title><content type='html'>&lt;!-- Converted from text/rtf format --&gt;  &lt;P&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;I posted a small note on TheServerSide (&lt;/FONT&gt;&lt;A HREF="http://www.theserverside.com/news/thread.tss?thread_id=46374"&gt;&lt;U&gt;&lt;FONT COLOR="#0000FF" SIZE=2 FACE="Arial"&gt;http://www.theserverside.com/news/thread.tss?thread_id=46374&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;) about the new features of HTMLUnit.&lt;/FONT&gt;&lt;/P&gt;  &lt;P&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;Regards,&lt;/FONT&gt;  &lt;BR&gt;&lt;FONT SIZE=2 FACE="Arial"&gt;Tomi&lt;/FONT&gt; &lt;/P&gt; &lt;BR&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-4752036141233910539?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/4752036141233910539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=4752036141233910539' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/4752036141233910539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/4752036141233910539'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2007/08/post-on-theserverside-about-htmlunit.html' title='Post on TheServerSide about HTMLUnit'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-116661607936258339</id><published>2006-12-20T12:58:00.001+01:00</published><updated>2006-12-20T13:01:19.376+01:00</updated><title type='text'>Groovy in Action</title><content type='html'>The book "Groovy in Action" is finally out! Have a look, it's worth reading it!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;URL: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groovy.canoo.com/gina"&gt;http://groovy.canoo.com/gina&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Description:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;Groovy in Action&lt;/strong&gt; is a comprehensive description of the Groovy programming   language, its libraries, and its everyday use. With the release of JSR 241,   Groovy has become the second standard language for the Java platform. The   book introduces Java developers to the new dynamic features that Groovy   brings to this platform.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-116661607936258339?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/116661607936258339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=116661607936258339' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/116661607936258339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/116661607936258339'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/12/groovy-in-action_20.html' title='Groovy in Action'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-116661607404789468</id><published>2006-12-20T12:58:00.000+01:00</published><updated>2006-12-20T13:01:14.060+01:00</updated><title type='text'>Groovy in Action</title><content type='html'>The book "Groovy in Action" is finally out! Have a look, it's worth reading it!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;URL: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groovy.canoo.com/gina"&gt;http://groovy.canoo.com/gina&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Description:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;Groovy in Action&lt;/strong&gt; is a comprehensive description of the Groovy programming   language, its libraries, and its everyday use. With the release of JSR 241,   Groovy has become the second standard language for the Java platform. The   book introduces Java developers to the new dynamic features that Groovy   brings to this platform.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-116661607404789468?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/116661607404789468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=116661607404789468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/116661607404789468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/116661607404789468'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/12/groovy-in-action.html' title='Groovy in Action'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-115917742851692413</id><published>2006-09-25T11:43:00.000+02:00</published><updated>2006-09-25T11:43:48.563+02:00</updated><title type='text'>groovy articles on del.icio.us</title><content type='html'>&lt;div xmlns="http://purl.org/atom/ns#"&gt;      &lt;p&gt;Since I'm using Groovy in the current project (thanks to Dierk and Marc) I'll start collect articles about groovy...&lt;/p&gt;      This might help some other beginners to start with a steeper learning curve as well :)Enjoy!      &lt;p&gt;        Read more at        &lt;a href="http://del.icio.us/TomiSchuetz/groovy+articles"&gt;del.icio.us/TomiSchuetz...&lt;/a&gt;      &lt;/p&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-115917742851692413?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/115917742851692413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=115917742851692413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115917742851692413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115917742851692413'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/09/groovy-articles-on-delicious.html' title='groovy articles on del.icio.us'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-115676092331914147</id><published>2006-08-28T12:27:00.005+02:00</published><updated>2010-01-14T14:03:25.125+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>Groovy: Parsing an XML file with Groovy</title><content type='html'>&lt;a href="http://groovy.codehaus.org/"&gt;Groovy&lt;/a&gt; comes with a handy &lt;a href="http://groovy.codehaus.org/apidocs/groovy/util/XmlParser.html"&gt;XML parser&lt;/a&gt;. With this parser you can load an XML file quickly and navigate it easy.&lt;br /&gt;&lt;br /&gt;Currently I'm working with WebTest (http://webtest.canoo.com/) for testing functional aspects of an web application.&lt;br /&gt;&lt;br /&gt;WebTest comes with a nice overview to present the results of the test runs. The report itself is transformed out of an XML file. For statistics reason, I'm using this XML file to extract specific data. This extraction is done with a little Groovy script.&lt;br /&gt;&lt;br /&gt;To get an idea of the WebTest report XML file, have a look a the fragment below:&lt;br /&gt;&lt;br /&gt;WebTestReport.xml:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: js"&gt;&lt;br /&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;&lt;br /&gt;&lt;summary Implementation-Title="Canoo Webtest" Implementation-Version="R_1304"&gt;&lt;br /&gt;  &lt;testresult&gt;&lt;br /&gt;      &lt;config&gt;&lt;br /&gt;          &lt;parameter&gt;&lt;br /&gt;    ...&lt;br /&gt;      &lt;results&gt;&lt;br /&gt;          &lt;step&gt;&lt;br /&gt;              &lt;parameter name="taskName" value="ant:goToRelationshipOpening"/&gt;&lt;br /&gt;              &lt;result&gt;&lt;br /&gt;                  &lt;completed duration="0"/&gt;&lt;br /&gt;              &lt;/result&gt;&lt;br /&gt;              &lt;step&gt;&lt;br /&gt;                  &lt;parameter name="taskName" value="invoke"/&gt;&lt;br /&gt;                  &lt;parameter name="description" value="Get the page: Relationship Opening"/&gt;&lt;br /&gt;                  &lt;parameter name="url" value="website"/&gt;&lt;br /&gt;                  &lt;parameter&lt;br /&gt;                      name="resultFilename" value="response_1156746643278_invoke.html"/&gt;&lt;br /&gt;                  &lt;parameter name="method" value="GET"/&gt;&lt;br /&gt;                  &lt;result&gt;&lt;br /&gt;                      &lt;completed duration="8219"/&gt;&lt;br /&gt;                  &lt;/result&gt;&lt;br /&gt;              &lt;/step&gt;&lt;br /&gt;              &lt;step&gt;&lt;br /&gt;                  &lt;parameter name="taskName" value="storeCookie"/&gt;&lt;br /&gt;                  &lt;parameter name="property" value="wtSessionCookie"/&gt;&lt;br /&gt;                  &lt;parameter name="description" value="Store the session id to jump in the session from a normal browser"/&gt;&lt;br /&gt;                  &lt;parameter name="cookie value" value="1234"/&gt;&lt;br /&gt;                  &lt;parameter name="name" value="JSESSIONID"/&gt;&lt;br /&gt;                  &lt;result&gt;&lt;br /&gt;                      &lt;completed duration="15"/&gt;&lt;br /&gt;                  &lt;/result&gt;&lt;br /&gt;              &lt;/step&gt;&lt;br /&gt;          &lt;/step&gt;&lt;br /&gt;    ...&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This file can be parsed with the following code:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: js"&gt;&lt;br /&gt;import java.text.SimpleDateFormat&lt;br /&gt;&lt;br /&gt;FormatUS = new SimpleDateFormat('EEE MMM dd hh:mm:ss z yyyy', Locale.US)&lt;br /&gt;FormatDE = new SimpleDateFormat('dd.MM.yyyy hh:mm:ss', Locale.GERMAN)&lt;br /&gt;&lt;br /&gt;def folder = args?.size() ? args[0] : "data"&lt;br /&gt;println "reading files from directory '$folder'"&lt;br /&gt;def basedir = new File(folder)&lt;br /&gt;&lt;br /&gt;// result files of the current run&lt;br /&gt;files = basedir.listFiles().grep(~/.*xml$/)&lt;br /&gt;&lt;br /&gt;List resultLines() {&lt;br /&gt;List result = []&lt;br /&gt;for (currentFile in files) {&lt;br /&gt;println "  processing $currentFile"&lt;br /&gt;def summary = new XmlParser().parse(currentFile)&lt;br /&gt;&lt;br /&gt; // List with all 'testresult' elements&lt;br /&gt;def testresults = summary.testresult&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;testresults.each { testcase -&gt;&lt;br /&gt;     def entry  = [:]&lt;br /&gt;entry.name = testcase.'@testspecname'.split(/\W/)[0]&lt;br /&gt;entry.time = testcase.'@starttime'&lt;br /&gt;entry.time = FormatUS.parse(entry.time)&lt;br /&gt;        entry.time = FormatDE.format(entry.time)&lt;br /&gt;entry.ok   = testcase.'@successful'&lt;br /&gt;&lt;br /&gt;def rt = testcase.depthFirst().findAll { element -&gt;&lt;br /&gt;if (element.name() != 'parameter') return false&lt;br /&gt;if (element.'@name' != 'taskName')   return false&lt;br /&gt;def roundtripTags = 'clickLink clickButton clickElement'&lt;br /&gt;roundtripTags.tokenize().contains(element.'@value')&lt;br /&gt;}&lt;br /&gt;entry.roundtrips = rt.size()&lt;br /&gt;&lt;br /&gt;def fields = testcase.depthFirst().findAll { element -&gt;&lt;br /&gt;if (element.name() != 'parameter') return false&lt;br /&gt;if (element.'@name' != 'taskName')   return false&lt;br /&gt;def fieldsTags = 'selectForm setCheckbox setFileField setInputField setRadioButton'&lt;br /&gt;fieldsTags.tokenize().contains(element.'@value')&lt;br /&gt;}&lt;br /&gt;entry.fields = fields.size()&lt;br /&gt;&lt;br /&gt;def verifies = testcase.depthFirst().findAll { element -&gt;&lt;br /&gt;if (element.name() != 'parameter') return false&lt;br /&gt;if (element.'@name' != 'taskName')   return false&lt;br /&gt;def fieldsTags = 'verifyCheckbox verifyCookie verifyDocumentURL verifyElement'&lt;br /&gt;fieldsTags.tokenize().contains(element.'@value')&lt;br /&gt;}&lt;br /&gt;entry.verifies = verifies.size()&lt;br /&gt;&lt;br /&gt;if (testcase.results.error) {&lt;br /&gt;entry.resultsError = testcase.results.error.'@exception'[0]&lt;br /&gt;} else {&lt;br /&gt;entry.resultsError = ''&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;     /*&lt;br /&gt;     if (testcase.results.failure) {&lt;br /&gt;entry.resultsFailure = testcase.results.failure.'@message'[0].replaceAll(/\W/, " ")&lt;br /&gt;println "####" + entry.resultsFailure&lt;br /&gt;} else {&lt;br /&gt;entry.resultsFailure = ''&lt;br /&gt;}&lt;br /&gt;     */&lt;br /&gt;&lt;br /&gt;def groupSteps = testcase.results.step.findAll { step -&gt;&lt;br /&gt;   step.parameter.any { param -&gt;&lt;br /&gt;       param.'@name' == 'taskName' &amp;amp;&amp;amp; param.'@value' == 'group'&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;      &lt;br /&gt;     def goodSteps = groupSteps.findAll{ it.result?.completed }&lt;br /&gt;&lt;br /&gt;     // assumed: there is always at least one group step, size() never 0&lt;br /&gt;     if (groupSteps.size() != 0) {&lt;br /&gt;     entry.complete_pct = goodSteps.size() / groupSteps.size()&lt;br /&gt;     } else {&lt;br /&gt;      entry.complete_pct = 0&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;if (goodSteps) {&lt;br /&gt;     entry.description = goodSteps[-1].parameter.findAll{it.'@name'=='description'}.'@value'[0]&lt;br /&gt;     } else {&lt;br /&gt;      entry.description = ''&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;result &lt;&lt;&gt;&lt;br /&gt;writer &lt;&lt;&lt;br /&gt;       "Testfall\t"    &lt;&lt;&lt;br /&gt;       "Datum\t"     &lt;&lt;&lt;br /&gt;       "Erfolgreich\t"    &lt;&lt;&lt;br /&gt;       "Prozent\t"     &lt;&lt;&lt;br /&gt;       "Error\t"       &lt;&lt;&lt;br /&gt;       "Server Roundtrips\t" &lt;&lt;&lt;br /&gt;       "Number of Fields\t"  &lt;&lt;&lt;br /&gt;       "Verifications\t"  &lt;&lt;&lt;br /&gt;       "Beschreibung\n"&lt;br /&gt;for (entry in resultLines()) {&lt;br /&gt;writer &lt;&lt;&lt;br /&gt;     entry.name    &lt;&lt; "\t" &lt;&lt;&lt;br /&gt;     entry.time    &lt;&lt; "\t" &lt;&lt;&lt;br /&gt;     entry.ok    &lt;&lt; "\t" &lt;&lt;&lt;br /&gt;     entry.complete_pct &lt;&lt; "\t" &lt;&lt;&lt;br /&gt;     entry.resultsError   &lt;&lt; "\t" &lt;&lt;&lt;br /&gt;     entry.roundtrips     &lt;&lt; "\t" &lt;&lt;&lt;br /&gt;     entry.fields         &lt;&lt; "\t" &lt;&lt;&lt;br /&gt;     entry.verifies       &lt;&lt; "\t" &lt;&lt;&lt;br /&gt;     entry.description  &lt;&lt; "\n"&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now you get a tab seperated file with the content of your result files from the web testing runs. I&lt;br /&gt;import this file into Excel and create a pivot table to understand the results better.&lt;br /&gt;&lt;br /&gt;I hope this helps :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-115676092331914147?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/115676092331914147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=115676092331914147' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115676092331914147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115676092331914147'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/08/groovy-parsing-xml-file-with-groovy.html' title='Groovy: Parsing an XML file with Groovy'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-115649632530757720</id><published>2006-08-25T09:00:00.002+02:00</published><updated>2010-01-14T14:04:45.415+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>Groovy: Get all XML files from a directory tree</title><content type='html'>Currently I'm working in a project, where &lt;a href="http://groovy.codehaus.org/"&gt;Groovy&lt;/a&gt; (a dynamic scripting language for the JVM) is used. One of the project members is &lt;a href="http://skillsmatter.com/dierk-koenig"&gt;Dierk König&lt;/a&gt;, which is a Groovy commiter and the author of &lt;a href="http://www.manning.com/koenig/"&gt;Groovy in Action&lt;/a&gt;. This gives a real insight in the beauty of Groovy :)&lt;br /&gt;&lt;br /&gt;Below you can see a nice solution for finding all XML files in a directory tree:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: js"&gt;&lt;br /&gt;// pass a directory or use the current directory&lt;br /&gt;def folder = args?.size() ? args[0] : "."&lt;br /&gt;println "reading files from directory '$folder'"&lt;br /&gt;def basedir = new File(folder)&lt;br /&gt;&lt;br /&gt;// result files of the current run&lt;br /&gt;files = basedir.listFiles().grep(~/.*xml$/)&lt;br /&gt;&lt;br /&gt;List resultLines() {&lt;br /&gt;    List result = []&lt;br /&gt;    for (currentFile in files) { &lt;br /&gt;        println "  processing $currentFile"                &lt;br /&gt;    }&lt;br /&gt;    return result&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-115649632530757720?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/115649632530757720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=115649632530757720' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115649632530757720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115649632530757720'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/08/groovy-get-all-xml-files-from.html' title='Groovy: Get all XML files from a directory tree'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-115553826960422801</id><published>2006-08-14T08:51:00.000+02:00</published><updated>2006-08-14T08:51:09.646+02:00</updated><title type='text'>GWT Widget Library</title><content type='html'>&lt;div xmlns="http://purl.org/atom/ns#"&gt;      &lt;p&gt;Google released a new version of GWT today, version 1.1.0. There were some API changes made that broke a few things in the GWT-WL, namely the FormPanel and SVG support. This release is to make the GWT-WL compatible with the latest GWT release. Below are a list of changes...&lt;/p&gt;      &lt;p&gt;[from the site]&lt;/p&gt;      &lt;p&gt;        Read more at        &lt;a href="http://gwt-widget.sourceforge.net/"&gt;gwt-widget.sourceforge....&lt;/a&gt;      &lt;/p&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-115553826960422801?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/115553826960422801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=115553826960422801' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115553826960422801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115553826960422801'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/08/gwt-widget-library.html' title='GWT Widget Library'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-115529492855438437</id><published>2006-08-11T13:15:00.000+02:00</published><updated>2006-08-11T13:15:28.603+02:00</updated><title type='text'>Eclipse Summit Europe 2006</title><content type='html'>&lt;div xmlns="http://purl.org/atom/ns#"&gt;      The Eclipse Summit Europe will take place in Esslingen, Germany from October 11-12, 2006      &lt;p&gt;        Read more at        &lt;a href="http://www.eclipsecon.org/summiteurope2006/"&gt;www.eclipsecon.org/summ...&lt;/a&gt;      &lt;/p&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-115529492855438437?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/115529492855438437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=115529492855438437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115529492855438437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115529492855438437'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/08/eclipse-summit-europe-2006.html' title='Eclipse Summit Europe 2006'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-115527898727012406</id><published>2006-08-11T08:49:00.000+02:00</published><updated>2006-08-11T08:49:47.540+02:00</updated><title type='text'>Eclipse 3.3 M1 - New and Noteworthy</title><content type='html'>&lt;div xmlns="http://purl.org/atom/ns#"&gt;      &lt;p&gt;It's amazing, how fast the Eclipse people work! Thanks to all of them :)&lt;/p&gt;      &lt;p&gt;        Read more at        &lt;a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.3M1-200608101230/eclipse-news-M1.html"&gt;download.eclipse.org/ec...&lt;/a&gt;      &lt;/p&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-115527898727012406?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/115527898727012406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=115527898727012406' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115527898727012406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115527898727012406'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/08/eclipse-33-m1-new-and-noteworthy.html' title='Eclipse 3.3 M1 - New and Noteworthy'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-115501923151332470</id><published>2006-08-08T08:40:00.000+02:00</published><updated>2006-08-08T08:40:31.523+02:00</updated><title type='text'>Lint4j Maven Plugin - Lint4j</title><content type='html'>&lt;div xmlns="http://purl.org/atom/ns#"&gt;      &lt;p&gt;        &lt;a href="http://www.jutils.com/"&gt;Lint4j&lt;/a&gt;        comes with a        &lt;a href="http://maven.apache.org/"&gt;Maven&lt;/a&gt;        Plugin that simplifies generation of reports significantly.      &lt;/p&gt;      &lt;p&gt;        I'll have to check this plugin with        &lt;a href="http://webtestclipse.canoo.com/"&gt;WebTestClipse&lt;/a&gt;        ...      &lt;/p&gt;      &lt;p&gt;        Read more at        &lt;a href="http://www.jutils.com/maven-plugin/"&gt;www.jutils.com/maven-pl...&lt;/a&gt;      &lt;/p&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-115501923151332470?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/115501923151332470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=115501923151332470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115501923151332470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115501923151332470'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/08/lint4j-maven-plugin-lint4j.html' title='Lint4j Maven Plugin - Lint4j'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-115501896537260705</id><published>2006-08-08T08:36:00.000+02:00</published><updated>2006-08-08T08:36:05.423+02:00</updated><title type='text'>dzone.com</title><content type='html'>&lt;div xmlns="http://purl.org/atom/ns#"&gt;      &lt;p&gt;        An interesting site for developers. It's similar to        &lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt;        and        &lt;a href="http://www.stumbleupon.com/"&gt;stumbleupon&lt;/a&gt;        , but more focused on developers.      &lt;/p&gt;      I like these community driven sites, because it allows me to find high quality sites.      &lt;p&gt;        Read more at        &lt;a href="http://www.dzone.com/"&gt;www.dzone.com/&lt;/a&gt;      &lt;/p&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-115501896537260705?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/115501896537260705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=115501896537260705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115501896537260705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115501896537260705'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/08/dzonecom.html' title='dzone.com'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-115460316391149078</id><published>2006-08-03T13:06:00.000+02:00</published><updated>2006-08-03T13:06:03.953+02:00</updated><title type='text'>SourceForge.net: WebTestClipse</title><content type='html'>&lt;div xmlns="http://purl.org/atom/ns#"&gt;      &lt;p&gt;        I added WebTestClipse as a project to        &lt;a href="http://sourceforge.net/"&gt;Sourceforge.net&lt;/a&gt;        (        &lt;a href="http://sourceforge.net/projects/webtestclipse/"&gt;http://sourceforge.net/projects/webtestclipse/&lt;/a&gt;        ). The idea is, to use Sourceforge.net as a portal and to redirect to        &lt;a href="http://webtestclipse.canoo.com/"&gt;http://webtestclipse.canoo.com/&lt;/a&gt;        where the project is hosted and developed...      &lt;/p&gt;      &lt;p&gt;        Read more at        &lt;a href="http://sourceforge.net/projects/webtestclipse/"&gt;sourceforge.net/project...&lt;/a&gt;      &lt;/p&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-115460316391149078?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/115460316391149078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=115460316391149078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115460316391149078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115460316391149078'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/08/sourceforgenet-webtestclipse.html' title='SourceForge.net: WebTestClipse'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-115408996778180134</id><published>2006-07-28T14:32:00.001+02:00</published><updated>2009-08-11T20:39:13.244+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Setting up the master Maven 2 project for WebTestClipse - Install Maven 2</title><content type='html'>&lt;div xmlns="http://purl.org/atom/ns#"&gt;      I'm setting up the master      &lt;a href="http://maven.apache.org/"&gt;Maven 2&lt;/a&gt;      project for      &lt;a href="http://webtestclipse.canoo.com/"&gt;WebTestClipse&lt;/a&gt;      . You can follow these steps to set up any kind of project.In this post I'll descripe the installation of Maven 2, based on links and some minor notes. It's not to be considered to be a complete installation guide.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.) Download Maven 2&lt;/span&gt;    &lt;br /&gt;&lt;br /&gt;Download Maven 2 from      &lt;a href="http://maven.apache.org/download.html"&gt;http://maven.apache.org/download.html&lt;/a&gt;      and chose the right distribution. I'm using      &lt;a href="http://www.apache.org/dyn/closer.cgi/maven/binaries/maven-2.0.4-bin.zip"&gt;http://www.apache.org/dyn/closer.cgi/maven/binaries/maven-2.0.4-bin.zip&lt;/a&gt;      .    &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.) Unpack Maven into a local directory      &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I've chosen      C:\dev\maven-2.0.4      as my Maven 2 home directory.    &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3.) Environment Variable      &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Define a      %MAVEN_HOME%      variable and extend the      %PATH%      variable. This will make it possible to call Maven 2 commands from the command line    &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.) Test your Installation&lt;/span&gt;    &lt;br /&gt;&lt;br /&gt;Testing the installation is fairly simple. Just call a Maven 2 command from the command shell:    &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;mvn -v&lt;/span&gt;    &lt;br /&gt;&lt;br /&gt;As a result you should see:    &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Maven version: 2.0.4&lt;/span&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-115408996778180134?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/115408996778180134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=115408996778180134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115408996778180134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115408996778180134'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/07/setting-up-master-maven-2-project-for.html' title='Setting up the master Maven 2 project for WebTestClipse - Install Maven 2'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-115407630529428875</id><published>2006-07-28T10:45:00.000+02:00</published><updated>2006-07-28T10:45:47.273+02:00</updated><title type='text'>Joined WebTestClipse</title><content type='html'>&lt;div xmlns="http://purl.org/atom/ns#"&gt;      &lt;p&gt;        I joined the WebTestClipse project. The goal of the project is to provide a set of        &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;        features and plugins to develop tests for        &lt;a href="http://webtest.canoo.com/"&gt;WebTest&lt;/a&gt;        .      &lt;/p&gt;      &lt;p&gt;        Read more at        &lt;a href="http://webtestclipse.canoo.com/"&gt;webtestclipse.canoo.com...&lt;/a&gt;      &lt;/p&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-115407630529428875?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/115407630529428875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=115407630529428875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115407630529428875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115407630529428875'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/07/joined-webtestclipse.html' title='Joined WebTestClipse'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-115407360746053265</id><published>2006-07-28T10:00:00.000+02:00</published><updated>2006-07-28T10:02:03.390+02:00</updated><title type='text'>Daily IT Thoughts...</title><content type='html'>&lt;div xmlns="http://purl.org/atom/ns#"&gt;I'll start making daily notes about my work, this shall be a collection of impressions but also of small code fragments which help me on my daily projects...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-115407360746053265?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/115407360746053265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=115407360746053265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115407360746053265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/115407360746053265'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/07/daily-it-thoughts.html' title='Daily IT Thoughts...'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-113679523834559055</id><published>2006-01-09T09:23:00.000+01:00</published><updated>2006-01-09T09:27:18.513+01:00</updated><title type='text'>Eclipse and Java on USB Memory Stick</title><content type='html'>I bought myself a memory stick a few days ago, mainly to store data which I download in a internet coffee shops. I find it quite annoying to transport my laptop every time I just would like to read some mails...&lt;br /&gt;&lt;br /&gt;Somehow I found &lt;a href="http://portableapps.com/"&gt;portableapps.com&lt;/a&gt; which has a nice collection of tools (&lt;a href="http://www.mozilla.com/firefox/"&gt;Firefox&lt;/a&gt;, &lt;a href="http://www.mozilla.com/thunderbird/"&gt;Thunderbird&lt;/a&gt;, etc.) which can be copied on the USB memory stick and started from there. This makes it easy to use my favorite browser and mail client...&lt;br /&gt;&lt;br /&gt;For me the next question was: can I install Eclipse and Java on the memory stick and use it? Yes, you can :)&lt;br /&gt;&lt;br /&gt;Here a short description on what I did:&lt;br /&gt;&lt;br /&gt;1.) Copy a current installation of Java to the memory stick. I really copied it, I didn't install it!&lt;br /&gt;2.) Copy Eclipse on the memory stick.&lt;br /&gt;3.) Write a simple batch file to start Eclipse.&lt;br /&gt;&lt;br /&gt;that's it!&lt;br /&gt;&lt;br /&gt;My directory structure on the memory stick looks like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;%USB_MEMORY_STICK_ROOT%&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;|   Eclipse.bat&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;+---Applications&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    +---jdk1.5.0_05&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    |   \---bin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    |         \---javaw.exe&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    +---eclipse&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    \---eclipse.exe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Eclipse.bat looks like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.\Applications\eclipse\eclipse.exe&lt;br /&gt;   -data .\Projects&lt;br /&gt;   -vm .\Applications\jdk1.5.0_05\bin\javaw.exe&lt;br /&gt;   -vmargs -Xmx256M&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enjoy :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-113679523834559055?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/113679523834559055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=113679523834559055' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113679523834559055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113679523834559055'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2006/01/eclipse-and-java-on-usb-memory-stick.html' title='Eclipse and Java on USB Memory Stick'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-113497316729940973</id><published>2005-12-19T07:19:00.000+01:00</published><updated>2006-07-28T10:01:29.196+02:00</updated><title type='text'>Maven 2 - How To: Where to put the properties?</title><content type='html'>&lt;p class="mobile-post"&gt;1) The properties, in Maven 1 in build.properties and project.properties, are stored in settings.xml&lt;/p&gt;&lt;p class="mobile-post"&gt;2) Create the settings.xml in your user directory&lt;/p&gt;&lt;p class="mobile-post"&gt;Under Windows XP, this is:&lt;/p&gt;&lt;p class="mobile-post"&gt;C:\Documents and Settings\&amp;lt;user&amp;gt;\.m2\settings.xml&lt;/p&gt;&lt;p class="mobile-post"&gt;If you have to configure a proxy, it would look like this:&lt;/p&gt;&lt;p class="mobile-post"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;settings&amp;gt;&lt;br /&gt; &amp;lt;proxies&amp;gt;&lt;br /&gt;   &amp;lt;proxy&amp;gt;&lt;br /&gt;     &amp;lt;active/&amp;gt;&lt;br /&gt;     &amp;lt;protocol&amp;gt;http&amp;lt;/protocol&amp;gt;&lt;br /&gt;     &amp;lt;username&amp;gt;user&amp;lt;/username&amp;gt;&lt;br /&gt;     &amp;lt;password&amp;gt;passwd&amp;lt;/password&amp;gt;&lt;br /&gt;     &amp;lt;port&amp;gt;8080&amp;lt;/port&amp;gt;&lt;br /&gt;     &amp;lt;host&amp;gt;proxy-url&amp;lt;/host&amp;gt;&lt;br /&gt;     &amp;lt;id/&amp;gt;&lt;br /&gt;   &amp;lt;/proxy&amp;gt;&lt;br /&gt; &amp;lt;/proxies&amp;gt;&lt;br /&gt;&amp;lt;/settings&amp;gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;3) Since settings.xml is not part of your workspace and won't be stored in the project repository, you don't have it within your development environment. I'm using Eclipse for my development and I included the settings.xml in my project as a linked resource to the file system. &lt;/p&gt;&lt;p class="mobile-post"&gt;This approach gives you the advantage, that you can edit settings.xml easily within Eclipse and you don't have to leave your development environment :)&lt;/p&gt;&lt;p class="mobile-post"&gt;* * *&lt;/p&gt;&lt;p class="mobile-post"&gt;Reference:&lt;/p&gt;&lt;p class="mobile-post"&gt;http://maven.apache.org/maven-settings/settings.html&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-113497316729940973?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/113497316729940973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=113497316729940973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113497316729940973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113497316729940973'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/12/maven-2-how-to-where-to-put-properties.html' title='Maven 2 - How To: Where to put the properties?'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-113480599458446460</id><published>2005-12-17T08:53:00.002+01:00</published><updated>2006-07-28T13:55:36.266+02:00</updated><title type='text'>Maven 2 - How To: Multiple Module (flat project layout)</title><content type='html'>&lt;p class="mobile-post"&gt;1) Create at least two Maven projects in a flat project layout...&lt;/p&gt;&lt;p class="mobile-post"&gt;%PROJECT_WORKSPACE%\%YOUR_PROJECT_MASTER%pom.xml&lt;br /&gt;...&lt;/p&gt;&lt;p class="mobile-post"&gt;%PROJECT_WORKSPACE%\%YOUR_PROJECT_SLAVE%pom.xml&lt;br /&gt;...&lt;/p&gt;&lt;p class="mobile-post"&gt;2) Define the &amp;lt;groupId&amp;gt; and &amp;lt;artifactId&amp;gt; of the modules...&lt;/p&gt;&lt;p class="mobile-post"&gt;%PROJECT_WORKSPACE%\%YOUR_PROJECT_MASTER%\pom.xml:&lt;/p&gt;&lt;p class="mobile-post"&gt;&amp;lt;project&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;groupId&amp;gt;somegroup.master&amp;lt;/groupId&amp;gt;&lt;br /&gt;&amp;lt;artifactId&amp;gt;master&amp;lt;/artifactId&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/project&amp;gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;%PROJECT_WORKSPACE%\%YOUR_PROJECT_SLAVE%\pom.xml:&lt;/p&gt;&lt;p class="mobile-post"&gt;&amp;lt;project&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;groupId&amp;gt;somegroup.slave&amp;lt;/groupId&amp;gt;&lt;br /&gt;&amp;lt;artifactId&amp;gt;slave&amp;lt;/artifactId&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/project&amp;gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;3) Define the modules in the master project...&lt;/p&gt;&lt;p class="mobile-post"&gt;Here I added first the artifactId, but it didn't work. I changed it to the directory and everything was fine.&lt;/p&gt;&lt;p class="mobile-post"&gt;%PROJECT_WORKSPACE%\%YOUR_PROJECT_MASTER%\pom.xml:&lt;/p&gt;&lt;p class="mobile-post"&gt;&amp;lt;project&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;modules&amp;gt;&lt;br /&gt;&amp;lt;module&amp;gt;../%YOUR_PROJECT_SLAVE%&amp;lt;/module&amp;gt;&lt;br /&gt;&amp;lt;/modules&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/project&amp;gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;4) Add the &amp;lt;parent&amp;gt; and &amp;lt;dependency&amp;gt; element in the slave module...&lt;/p&gt;&lt;p class="mobile-post"&gt;%PROJECT_WORKSPACE%\%YOUR_PROJECT_SLAVE%\pom.xml:&lt;/p&gt;&lt;p class="mobile-post"&gt;&amp;lt;project&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;parent&amp;gt;&lt;br /&gt;&amp;lt;groupId&amp;gt;somegroup.master&amp;lt;/groupId&amp;gt;&lt;br /&gt;&amp;lt;artifactId&amp;gt;master&amp;lt;/artifactId&amp;gt;&lt;br /&gt;&amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br /&gt;&amp;lt;/parent&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;dependencies&amp;gt;&lt;br /&gt;  &amp;lt;dependency&amp;gt;&lt;br /&gt;&amp;lt;groupId&amp;gt;somegroup.master&amp;lt;/groupId&amp;gt;&lt;br /&gt;&amp;lt;artifactId&amp;gt;master&amp;lt;/artifactId&amp;gt;&lt;br /&gt;&amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;&lt;br /&gt;  &amp;lt;/dependency&amp;gt;&lt;br /&gt;  ...&lt;br /&gt;&amp;lt;/dependencies&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/project&amp;gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;5) Call mvn install...&lt;/p&gt;&lt;p class="mobile-post"&gt;First the master project will be called and than slaven... That's it :)&lt;/p&gt;&lt;p class="mobile-post"&gt;* * *&lt;/p&gt;&lt;p class="mobile-post"&gt;References:&lt;/p&gt;&lt;p class="mobile-post"&gt;- &lt;a href="http://maven.apache.org/"&gt;http://maven.apache.org/&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html"&gt;http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://maven.apache.org/guides/mini/guide-ide-eclipse.html"&gt;http://maven.apache.org/guides/mini/guide-ide-eclipse.html&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-113480599458446460?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/113480599458446460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=113480599458446460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113480599458446460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113480599458446460'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/12/maven-2-how-to-multiple-module-flat.html' title='Maven 2 - How To: Multiple Module (flat project layout)'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-113480599105701613</id><published>2005-12-17T08:53:00.001+01:00</published><updated>2005-12-17T09:05:09.343+01:00</updated><title type='text'>Maven 2 - How To: Add LICENSE.txt</title><content type='html'>&lt;p class="mobile-post"&gt;1) Add LICENSE.txt to the root directory of your project...&lt;/p&gt;&lt;p class="mobile-post"&gt;%YOUR_PROJECT% pom.xml&lt;br /&gt;LICENSE.txt&lt;br /&gt;src   site ...&lt;/p&gt;&lt;p class="mobile-post"&gt;2) Copy your license into LICENSE.txt&lt;/p&gt;&lt;p class="mobile-post"&gt;3) Include the &amp;lt;licenses&amp;gt; element in the pom.xml...&lt;/p&gt;&lt;p class="mobile-post"&gt;%YOUR_PROJECT%\pom.xml:&lt;/p&gt;&lt;p class="mobile-post"&gt;&amp;lt;project&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;licenses&amp;gt;&lt;br /&gt;  &amp;lt;license&amp;gt;&lt;br /&gt;&amp;lt;name&amp;gt;The Apache Software License, Version 2.0&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;url&amp;gt;LICENSE.txt&amp;lt;/url&amp;gt;&lt;br /&gt;  &amp;lt;/license&amp;gt;&lt;br /&gt;&amp;lt;/licenses&amp;gt;&lt;br /&gt;&amp;lt;/project&amp;gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;4) Inculde project ${reports} in site.xml&lt;/p&gt;&lt;p class="mobile-post"&gt;%YOUR_PROJECT%\src\site\site.xml:&lt;/p&gt;&lt;p class="mobile-post"&gt;&amp;lt;project&amp;gt;&lt;br /&gt;  ...&lt;br /&gt;  ${reports}&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/project&amp;gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-113480599105701613?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/113480599105701613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=113480599105701613' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113480599105701613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113480599105701613'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/12/maven-2-how-to-add-licensetxt.html' title='Maven 2 - How To: Add LICENSE.txt'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-113480598745687154</id><published>2005-12-17T08:53:00.000+01:00</published><updated>2005-12-17T09:04:43.976+01:00</updated><title type='text'>Maven 2 - Collection of How-To's</title><content type='html'>&lt;p class="mobile-post"&gt;I'm currently migrating two projects to Maven 2 (http://maven.apache.org/) and decided that I'll document this within my blog.&lt;/p&gt;&lt;p class="mobile-post"&gt;Although the Maven documentation has grown a lot, I'm still having difficulties to find the right piece of documentation to get my things done. Often I have to check the Maven repository to see how the Maven guys did it. By the way - I think this is a great advantage of open source ;) I hope and I'm quite sure, that this will improve a lot within the next few weeks and months.&lt;/p&gt;&lt;p class="mobile-post"&gt;Since I forget very fast ;) (very-very short time memory), I'll write down a collection of How-To's, where I describe little tasks. Maybe this will be helpful for other people too...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-113480598745687154?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/113480598745687154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=113480598745687154' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113480598745687154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113480598745687154'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/12/maven-2-collection-of-how-tos.html' title='Maven 2 - Collection of How-To&apos;s'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-113480597668216607</id><published>2005-12-17T08:52:00.000+01:00</published><updated>2005-12-17T09:04:11.396+01:00</updated><title type='text'>Working Offline</title><content type='html'>&lt;p class="mobile-post"&gt;Currently I'm spending many hours working offline and this wasn't very easy when I started doing it. I was used to have internet access 24x7. Since I'm in Thailand (see http://tomionthai.blogspot.com/) now and I don't have an internet access at the place I'm staying, I had to find a new way of working.&lt;/p&gt;&lt;p class="mobile-post"&gt;My first approach was saving the websites with Firefox (http://www.mozilla.org/) for offline reading and Google Desktop Search (http://desktop.google.com/) for indexing all the pages. After a while I switched from Firefox to HTTrack (http://www.httrack.com/) for downloading the pages, since it allows the download of a complete website with all the links and referenced pages. This approach was ok, but had its disadvantages like: &lt;/p&gt;&lt;p class="mobile-post"&gt;1) I had to come up with my own directory structure to save all the websites.&lt;br /&gt;2) Using Firefox wasn't very comfortable since it tries to save the file with the URL file name. This is very unpleasant if you have a site providing dynamic content and it's using post - every URL looks exactly the same and you will have to rename each file you would like to save locally.&lt;br /&gt;3) Some websites can't be downloaded with HTTrack (or at least I didn't find the right configuration). I spent hours to find the right configuration for downloading Maven (http://maven.apache.org/), but I wasn't very successful.&lt;br /&gt;4) It took quite some time to start and configure HTTrack everytime I wanted to have a certain page for offline reading.&lt;br /&gt;5) Often I downloaded much more than I wanted with HTTrack, which resultat in very long download times and waste of diskspace.&lt;/p&gt;&lt;p class="mobile-post"&gt;But the biggest drawback was, that this approach saved a lot of garbage on my laptop, which I dind't wanted. Most of the pages show headers, footers, menus and a lot of advertisement. By using Firefox or HTTrack all of this was downloaded as well and resultet in bad search results in Google Desktop Search, this because menus referenced to other pages with the actual content and this menu links contained my search key words, of course Google Desktop Search listed them too.&lt;/p&gt;&lt;p class="mobile-post"&gt;Finally I found a much nicer and even easier approach. My dream team is called PDFCreater (http://pdfcreator.sourceforge.net/, http:www.pdfcreator.de.vu/) and Google Desktop Search. Everytime I see a page, an article or some content I would like to read offline, I print it with PDFCreator and save the pdf file on my disk. First of all, many pages offer a printer-friendly version of the content which results in a nice print and in this case in a nice pdf file. I don't have to create complex directory structures anymore, I just created a simple structure with meta descriptions and I save all the pages/pdfs in these directories. Google Desktop Search has no problem indexing the pdf files and it's also nicer to read them in Acrobat Reader (http://www.adobe.com/) than in Firefox. The final advantage for me is, that I can easily backup all the files and I use them as my knowledgebase.&lt;/p&gt;&lt;p class="mobile-post"&gt;If you have to work a lot offline, but you still would like to read current articles from the internet, you might want to try this approach. If you have a better approach, I'm very interested in knowing it... thanks in advance :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-113480597668216607?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/113480597668216607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=113480597668216607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113480597668216607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113480597668216607'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/12/working-offline.html' title='Working Offline'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-113462676663474157</id><published>2005-12-15T07:06:00.000+01:00</published><updated>2005-12-15T07:08:39.176+01:00</updated><title type='text'>Java XML Binding</title><content type='html'>&lt;p class="mobile-post"&gt;I'm working right now on CreateTree, a simple tool for reading and&lt;br /&gt;creating directory and file structures, CreateTree is a part of the BDT&lt;br /&gt;project (http://bdt.sf.net/).&lt;/p&gt;&lt;p class="mobile-post"&gt;The model is defined in a XML Schema and finally transformed with Apache&lt;br /&gt;XML Beans into a Java model.&lt;/p&gt;&lt;p class="mobile-post"&gt;Before I decided to use Apache XML Beans, I had a look at&lt;br /&gt;https://bindmark.dev.java.net/, a project which compares Java XML&lt;br /&gt;Binding tools.&lt;/p&gt;&lt;p class="mobile-post"&gt;Since I don't have much experience with bind tools, Bindmark is very&lt;br /&gt;helpful and provides a lot of information.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-113462676663474157?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/113462676663474157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=113462676663474157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113462676663474157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113462676663474157'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/12/java-xml-binding_14.html' title='Java XML Binding'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-113343111063937226</id><published>2005-12-01T10:53:00.000+01:00</published><updated>2005-12-01T11:18:41.986+01:00</updated><title type='text'>New Eclipse help plugin for eclipse-tutorial.dev.java.net available</title><content type='html'>New &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; help plugin for the tutorials at &lt;a href="https://eclipse-tutorial.dev.java.net/"&gt;eclipse-tutorial.dev.java.net&lt;/a&gt; available&lt;br /&gt;&lt;br /&gt;I developed a new Eclipse help plugin, containing all the tutorials from eclipse-tutorial.dev.java.net. With the new plugin, you can select the tutorials you would like to see and you don't have to download all of it at once.&lt;br /&gt;&lt;br /&gt;This will help us to deliver new tutorials easier for the help plugin.&lt;br /&gt;&lt;br /&gt;You can find the Eclipse help plugin under:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="https://eclipse-tutorial.dev.java.net/update"&gt;https://eclipse-tutorial.dev.java.net/update&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;br /&gt;Enjoy :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-113343111063937226?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/113343111063937226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=113343111063937226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113343111063937226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113343111063937226'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/12/new-eclipse-help-plugin-for-eclipse.html' title='New Eclipse help plugin for eclipse-tutorial.dev.java.net available'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-113264360889833442</id><published>2005-11-22T08:12:00.000+01:00</published><updated>2005-11-22T08:13:28.910+01:00</updated><title type='text'>New visual tutorials available</title><content type='html'>I added four new tutorials to eclipse-tutorial.dev.java.net. The new tutorials are based on Eclipse 3.1.x and show some of the new features.&lt;br /&gt;&lt;br /&gt; - Ant Code Templates&lt;br /&gt; - Generating Ant Buildfile for Eclipse Java project&lt;br /&gt; - Create a new Perspective&lt;br /&gt; - How to use the Help System&lt;br /&gt;&lt;br /&gt;&lt;a href="https://eclipse-tutorial.dev.java.net/" target="_blank"&gt;https://eclipse-tutorial.dev.java.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-113264360889833442?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/113264360889833442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=113264360889833442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113264360889833442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/113264360889833442'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/11/new-visual-tutorials-available.html' title='New visual tutorials available'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-112937733536493520</id><published>2005-10-15T13:52:00.000+02:00</published><updated>2005-10-15T14:01:06.563+02:00</updated><title type='text'>Great Ranking for eclipse-tutorial.dev.java.net</title><content type='html'>Today I had a look at &lt;a href="http://community.java.net/projects/top.csp"&gt;http://community.java.net/projects/top.csp&lt;/a&gt; to see, what rank the &lt;a href="https://eclipse-tutorial.dev.java.net/"&gt;eclipse-tutorial.dev.java.net&lt;/a&gt; project has and I was completely surprised!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/4685/233/1600/eclipse-tutorial.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/4685/233/320/eclipse-tutorial.jpg" alt="" border="0" /&gt;&lt;/a&gt;Correct me if I'm wrong, but it looks to me, that the other 9 projects in the list have a very close relation to java.sun.com. If this is right, I think the 3rd rank is simply great :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-112937733536493520?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/112937733536493520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=112937733536493520' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112937733536493520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112937733536493520'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/10/great-ranking-for-eclipse.html' title='Great Ranking for eclipse-tutorial.dev.java.net'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-112813821928128354</id><published>2005-10-01T05:40:00.000+02:00</published><updated>2005-10-01T05:43:39.286+02:00</updated><title type='text'>Joomla Developer</title><content type='html'>The &lt;a href="http://www.joomla.org/"&gt;Joomla community&lt;/a&gt; has a new development space provided by &lt;a href="http://sourceforge.net/"&gt;Sourceforge&lt;/a&gt;:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://developer.joomla.org/"&gt;http://developer.joomla.org/&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; It's amazing to see, what momentum is behind some people :) I wish them all the best in developing Joomla and increasing the community!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-112813821928128354?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/112813821928128354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=112813821928128354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112813821928128354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112813821928128354'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/09/joomla-developer.html' title='Joomla Developer'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-112659843731008079</id><published>2005-09-13T09:57:00.000+02:00</published><updated>2005-09-13T10:00:37.470+02:00</updated><title type='text'>New Eclipse Plugin for Eclipse Tutorial</title><content type='html'>I have published a new &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; plugin for &lt;a href="https://eclipse-tutorial.dev.java.net/"&gt;eclipse-tutorial.dev.java.net&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;    Update site: &lt;a href="https://eclipse-tutorial.dev.java.net/update"&gt;eclipse-tutorial.dev.java.net/update&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-112659843731008079?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/112659843731008079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=112659843731008079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112659843731008079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112659843731008079'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/09/new-eclipse-plugin-for-eclipse.html' title='New Eclipse Plugin for Eclipse Tutorial'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-112330669399941086</id><published>2005-08-06T07:37:00.000+02:00</published><updated>2005-08-06T07:38:14.003+02:00</updated><title type='text'>EclipseZone</title><content type='html'>New Eclipse Website available&lt;br /&gt;&lt;br /&gt;    &lt;a href="http://www.eclipsezone.com/"&gt;http://www.eclipsezone.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Have fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-112330669399941086?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/112330669399941086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=112330669399941086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112330669399941086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112330669399941086'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/08/eclipsezone.html' title='EclipseZone'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-112304331353511863</id><published>2005-08-03T06:26:00.000+02:00</published><updated>2005-08-03T06:52:51.550+02:00</updated><title type='text'>Inversion of Control</title><content type='html'>Inversion of Control is a key part of what makes a framework different to a library. A library is essentially a set of functions that you can call, these days usually organized into classes. Each call does some work and returns control to the client.&lt;br /&gt;&lt;br /&gt;A framework embodies some abstract design, with more behavior built in. In order to use it you need to insert your behavior into various places in the framework either by subclassing or by plugging in your own classes. The framework's code then calls your code at these points.&lt;br /&gt;&lt;br /&gt;Martin Fowler - &lt;a href="http://martinfowler.com/bliki/InversionOfControl.html"&gt;http://martinfowler.com/bliki/InversionOfControl.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-112304331353511863?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/112304331353511863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=112304331353511863' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112304331353511863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112304331353511863'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/08/inversion-of-control.html' title='Inversion of Control'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-112235180977591043</id><published>2005-07-26T06:20:00.001+02:00</published><updated>2010-01-22T15:45:49.448+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='cleanup'/><category scheme='http://www.blogger.com/atom/ns#' term='workspace'/><title type='text'>How To Remove An Obsolet Workspace From Eclipse 3.1</title><content type='html'>Sometimes you would like to remove an obsolet workspace from Eclipse. Suppose you have made a test workspace to try some things out and now you don't wont and don't need it anymore.&lt;br /&gt;&lt;br /&gt;If you remove the workspace from your disk, it'll still appear in the workspace launcher, when you start up Eclipse.&lt;br /&gt;&lt;br /&gt;So, how do you get rid of it?&lt;br /&gt;&lt;br /&gt;Ecplise is storing the workspace information in a preferences file called "org.eclipse.ui.ide.prefs". This file is located under "%ECLIPSE_HOME%\configuration\.settings" and contains a key named "RECENT_WORKSPACES". The value of this key contains a comma seperated list of workspaces, more precisely the path to the workspaces. If you delete one of the entries, it'll disappear from the workspace launcher.&lt;br /&gt;&lt;br /&gt;What you have to do is the following:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;exit Eclipse&lt;/li&gt;   &lt;li&gt;delete the workspace from your disk&lt;/li&gt;   &lt;li&gt;delete the path pointing to your obsolet workspace in the mentioned preferences file&lt;/li&gt;   &lt;li&gt;start Eclipse&lt;/li&gt; &lt;/ul&gt; You shouldn't see the workspace anymore in your workspace launcher :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-112235180977591043?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/112235180977591043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=112235180977591043' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112235180977591043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112235180977591043'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/07/how-to-remove-obsolet-workspace-from.html' title='How To Remove An Obsolet Workspace From Eclipse 3.1'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-112200833669140152</id><published>2005-07-22T06:53:00.000+02:00</published><updated>2005-07-22T06:58:56.696+02:00</updated><title type='text'>German translation of eclipse-tutorial.dev.java.net</title><content type='html'>The &lt;a href="https://eclipse-tutorial.dev.java.net/eclipse-tutorial/german/part1.html"&gt;&lt;/a&gt;first german translation of &lt;a href="https://eclipse-tutorial.dev.java.net/eclipse-tutorial/"&gt;eclipse-tutorial.dev.java.net&lt;/a&gt; is done. I figured out, that it's not that easy to translate tutorials :-)&lt;br /&gt;&lt;br /&gt;Open Source Java Applikationen entwickeln mit java.net und Eclipse &lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="https://eclipse-tutorial.dev.java.net/eclipse-tutorial/german/part1.html"&gt;Teil 1- Neues Projekt in Eclipse erstellen&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;h2 style="text-align: left;"&gt;&lt;/h2&gt; Let me know, if there are some terrible translation mistakes!&lt;br /&gt;&lt;br /&gt;Enjoy! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-112200833669140152?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/112200833669140152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=112200833669140152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112200833669140152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/112200833669140152'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/07/german-translation-of-eclipse.html' title='German translation of eclipse-tutorial.dev.java.net'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111900327877484703</id><published>2005-06-17T12:14:00.000+02:00</published><updated>2005-06-17T12:14:38.783+02:00</updated><title type='text'>When Maven encounters Eclipse</title><content type='html'>&lt;a href="http://www-128.ibm.com/developerworks/edu/os-dw-os-mavenecl-i.html"&gt;When Maven encounters Eclipse&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111900327877484703?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111900327877484703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111900327877484703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111900327877484703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111900327877484703'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/06/when-maven-encounters-eclipse.html' title='When Maven encounters Eclipse'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111709372159899758</id><published>2005-05-26T09:46:00.000+02:00</published><updated>2005-05-26T09:48:41.600+02:00</updated><title type='text'>Subversion 1.2.0</title><content type='html'>&lt;img src="http://subversion.tigris.org/subversion_logo_hor-468x64.png" /&gt;&lt;br /&gt;&lt;br /&gt;Version 1.2.0 released. See &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111709372159899758?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111709372159899758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111709372159899758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111709372159899758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111709372159899758'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/subversion-120.html' title='Subversion 1.2.0'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111687295380462990</id><published>2005-05-23T20:27:00.000+02:00</published><updated>2005-05-23T20:29:13.806+02:00</updated><title type='text'>BDT - Build Development Tools</title><content type='html'>New project started for &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://bdt.sf.net/"&gt;BDT&lt;/a&gt; (Build Development Tools) Project is working towards providing a fully functional Build Integrated Development Environment (IDE) for the Eclipse platform.&lt;br /&gt;&lt;br /&gt;Check it out from time to time, there should be some changes within the next few weeks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111687295380462990?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111687295380462990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111687295380462990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111687295380462990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111687295380462990'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/bdt-build-development-tools.html' title='BDT - Build Development Tools'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111687256880984343</id><published>2005-05-23T20:20:00.000+02:00</published><updated>2005-05-23T20:22:48.813+02:00</updated><title type='text'>Ant 1.6.4 Available</title><content type='html'>&lt;a href="http://ant.apache.org/"&gt;Ant&lt;/a&gt; 1.6.4 Available!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111687256880984343?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111687256880984343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111687256880984343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111687256880984343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111687256880984343'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/ant-164-available.html' title='Ant 1.6.4 Available'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111642907973591979</id><published>2005-05-18T17:07:00.000+02:00</published><updated>2005-05-18T17:11:19.740+02:00</updated><title type='text'>Maven &amp; multiple source trees</title><content type='html'>Have a look at an interesting article about &lt;a ref="http://maven.apache.org/"&gt;Maven&lt;/a&gt; and multiple source trees in &lt;a href="http://weblogs.java.net/blog/michael_n/"&gt;Michael Nielsen's Blog&lt;/a&gt;: &lt;a href="http://weblogs.java.net/blog/michael_n/archive/2005/05/maven_multiple.html"&gt;http://weblogs.java.net/blog/michael_n/archive/2005/05/maven_multiple.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111642907973591979?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111642907973591979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111642907973591979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111642907973591979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111642907973591979'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/maven-multiple-source-trees.html' title='Maven &amp; multiple source trees'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111599419061669828</id><published>2005-05-18T16:05:00.000+02:00</published><updated>2005-05-18T17:04:18.910+02:00</updated><title type='text'>Build Environment Systems</title><content type='html'>When ever you start a new project you'll find out, that you have to ship the software at a certain point :-) and to do that there are many tasks involved:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;deliver the application as a zip file including a batch or shell script to execute it&lt;/li&gt;   &lt;li&gt;deliver the application with all the necessary deployment descriptors, security role assignments, etc., so the application can be deployed&lt;/li&gt;   &lt;li&gt;deliver an installer for one or many operating systems&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;deliver it in any kind your customer would like to have it&lt;br /&gt;&lt;/li&gt; &lt;/ul&gt; Usually this task is not that complex, but there are many tiny tasks involved, like:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;pack all the necessary libs for your application&lt;/li&gt;   &lt;li&gt;generate a working classpath (sometimes not that easy...)&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;generate all the documentations&lt;/li&gt;   &lt;li&gt;generate the batch and shell scripts&lt;/li&gt;   &lt;li&gt;generate some testdata&lt;/li&gt;   &lt;li&gt;create the installer build files&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;etc.&lt;br /&gt;&lt;/li&gt; &lt;/ul&gt; If you forget one or you don't do them the same way every time, your delivery won't address the needs and the expectations of your customer.&lt;br /&gt;&lt;br /&gt;Beside this, if your delivery will be tested by some testing folks on the customer side, they'll flood your bug tracking system, because some bugs will look quite different every time. And you won't hire some new people just to sort out the same bugs, would you? ;-)&lt;br /&gt;&lt;br /&gt;To address these needs, most Java projects are using &lt;a href="http://ant.apache.org/"&gt;Ant&lt;/a&gt;. Ant is a quasi standard for building Java applications. The Apache Ant project describes itself as: &lt;span style="font-style: italic;"&gt;Apache Ant is a Java-based build tool. In theory, it is kind of like Make, but without Make's wrinkles.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In Ant you can define targets and within the targets you have different tasks. The targets once more can have dependencies to other targets. If you are not familiar with Ant, have a look at "&lt;a href="http://ant.apache.org/manual/using.html#buildfile"&gt;Writing a Simple Buildfile&lt;/a&gt;" tutorial from the Ant project. This will give you a good introduction.&lt;br /&gt;&lt;br /&gt;If you start using Ant, you figure out, that you are doing the same things again and again. For example: your application is based on several components and you would like to compile each of them independently. You'll start writing a compile target for every component and at a certain point you'll try to refactor your build files so you can use one compile target for all your components.&lt;br /&gt;&lt;br /&gt;I invested quite some time in my build files and started to use them in different projects. So I started to use my own build environment components. I'm not quite sure, if this is the right approache, since there are many projects out there which are doing the same thing... but usually much more sophisticated...&lt;br /&gt;&lt;br /&gt;These projects are using Ant or extending it and building a set of predefined targets to use:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://antlion.sourceforge.net/"&gt;http://antlion.sourceforge.net/&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://antworks.sourceforge.net/"&gt;http://antworks.sourceforge.net/&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://invicta.sourceforge.net/"&gt;http://invicta.sourceforge.net/&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.javagen.com/jam/index.html"&gt;http://www.javagen.com/jam/index.html&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.jayasoft.fr/org/modules/ivy/overview.php?"&gt;http://www.jayasoft.fr/org/modules/ivy/overview.php?&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; To get a more complete list of Ant related tools, check the Ant project site:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://ant.apache.org/projects.html"&gt;http://ant.apache.org/projects.html&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://ant.apache.org/external.html"&gt;http://ant.apache.org/external.html&lt;/a&gt;&lt;br /&gt;&lt;/li&gt; &lt;/ul&gt; Another Apache project, addressing the need of a good build environment system is &lt;a href="http://maven.apache.org/"&gt;Maven&lt;/a&gt;. Maven itself is much more sophisticated than Ant and they use a different aproach. Maven is built around a project object model and is providing a huge set of goals (in Ant terms these would be targets). Beside this, Maven is able to deal with dependencies in your project.&lt;br /&gt;&lt;br /&gt;Currently the Maven team is working on Version 2.0 of Maven. If you are interested in Maven 2.0 have a look at the project site: &lt;a href="http://maven.apache.org/maven2/"&gt;http://maven.apache.org/maven2/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It's very much recommended, that you invest enough time in your build environment and that you maintain it as good as possible. You should keep in mind, that your build scripts are a part of your software and you should treat it with the same respect as your source code.&lt;br /&gt;&lt;br /&gt;Some people might think, that a fully automated build environment is to expensive. But if you have a closer look at all the details and all the knowledge lying in your build environment and in your build process, you'll see that the positive aspects outweigh.&lt;br /&gt;&lt;br /&gt;To understand the importance of a good build environment, you also should read the article of Martin Fowler about &lt;a href="http://www.martinfowler.com/articles/continuousIntegration.html"&gt;Continuous Integration&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111599419061669828?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111599419061669828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111599419061669828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111599419061669828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111599419061669828'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/build-environment-systems.html' title='Build Environment Systems'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111625150500098628</id><published>2005-05-16T15:50:00.000+02:00</published><updated>2005-05-16T15:52:49.976+02:00</updated><title type='text'>ApacheCon Europe 2005</title><content type='html'>&lt;a href="http://apachecon.com/2005/EU/index.html/"&gt;&lt;img src="http://apachecon.com/2005/EU/images/ac2005eu-135.gif"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111625150500098628?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111625150500098628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111625150500098628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111625150500098628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111625150500098628'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/apachecon-europe-2005.html' title='ApacheCon Europe 2005'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111625129492359865</id><published>2005-05-16T15:47:00.000+02:00</published><updated>2005-05-16T15:48:14.923+02:00</updated><title type='text'>FindBugs 0.8.8 - Code Analyzer</title><content type='html'>The &lt;a href="http://findbugs.sourceforge.net/"&gt;FindBugs&lt;/a&gt; Java code analysis tool project has released &lt;a href="http://sourceforge.net/project/shownotes.php?group_id=96405&amp;amp;release_id=324928"&gt;version 0.8.8&lt;/a&gt; with many feature enhancements. Those include detection for duplicate code in if/else statements, new function calls, increased detection of impossible casts, statistics saving, and more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111625129492359865?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111625129492359865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111625129492359865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111625129492359865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111625129492359865'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/findbugs-088-code-analyzer.html' title='FindBugs 0.8.8 - Code Analyzer'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111625112645730119</id><published>2005-05-16T15:45:00.000+02:00</published><updated>2005-05-16T15:45:26.463+02:00</updated><title type='text'>PMD 3.1</title><content type='html'>Tom Copeland had announced the release of &lt;a href="http://sourceforge.net/forum/forum.php?forum_id=465872"&gt;version 3.1&lt;/a&gt; of his Java code analyzer &lt;a href="http://pmd.sourceforge.net/"&gt;PMD&lt;/a&gt;. "It includes eight new rules, a slew of bug fixes, and better support for JDK 1.5. Several rules were optimized, for example, UnusedModifer now runs about ten times faster." A full &lt;a href="http://sourceforge.net/project/shownotes.php?release_id=326387"&gt;change log&lt;/a&gt; is available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111625112645730119?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111625112645730119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111625112645730119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111625112645730119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111625112645730119'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/pmd-31.html' title='PMD 3.1'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111625093656765705</id><published>2005-05-16T15:41:00.000+02:00</published><updated>2005-05-16T15:42:16.566+02:00</updated><title type='text'>Apache Maven 2.0 Alpha 2</title><content type='html'>The &lt;a href="http://maven.apache.org/maven2/"&gt;Apache Maven&lt;/a&gt; development team has announced the release of &lt;a href="http://osdir.com/Article5510.phtml"&gt;version 2.0 Alpha 2&lt;/a&gt; of the software project management tool.  "This release is expected to be much more architecturally stable, making early adoption a possiblity. At this point, there are still only the core plugins available."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111625093656765705?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111625093656765705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111625093656765705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111625093656765705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111625093656765705'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/apache-maven-20-alpha-2.html' title='Apache Maven 2.0 Alpha 2'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111625089149100576</id><published>2005-05-16T15:40:00.000+02:00</published><updated>2005-05-16T15:41:31.496+02:00</updated><title type='text'>Eclipse 3.1 Milestone 7</title><content type='html'>The &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; IDE project has released its &lt;a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.1M7-200505131415/eclipse-news-all-M7.html"&gt;seventh milestone for version 3.1&lt;/a&gt;. "M7 is the final milestone build of the Eclipse Platform 3.1 development cycle, and marks the official start of the 3.1 endgame." M7 features undo and redo features for refactoring, and many UI tweaks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111625089149100576?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111625089149100576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111625089149100576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111625089149100576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111625089149100576'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/eclipse-31-milestone-7.html' title='Eclipse 3.1 Milestone 7'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111556109574093229</id><published>2005-05-08T16:00:00.000+02:00</published><updated>2005-05-08T16:06:02.233+02:00</updated><title type='text'>New Visual Tutorials - eclipse-tutorial.dev.java.net</title><content type='html'>&lt;img src="https://eclipse-tutorial.dev.java.net/eclipse-tutorial.dev.java.net.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;I've added three new Visual Tutorials to &lt;a href="https://eclipse-tutorial.dev.java.net/"&gt;eclipse-tutorial.dev.java.net&lt;/a&gt; and modified the help plugin.&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="https://eclipse-tutorial.dev.java.net/visual-tutorials/part4.html"&gt;Create a new class with Fields and a Constructor&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="https://eclipse-tutorial.dev.java.net/visual-tutorials/part5.html"&gt;Refactoring, Rename a Field and a Method&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="https://eclipse-tutorial.dev.java.net/visual-tutorials/part6.html"&gt;How to use the Update Manager&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; If you have and ideas or suggestions about the tutorials, let me know :-)&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111556109574093229?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111556109574093229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111556109574093229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111556109574093229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111556109574093229'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/new-visual-tutorials-eclipse.html' title='New Visual Tutorials - eclipse-tutorial.dev.java.net'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111549809778727104</id><published>2005-05-07T22:32:00.000+02:00</published><updated>2005-05-07T22:35:53.350+02:00</updated><title type='text'>Application Server Matrix</title><content type='html'>&lt;img src="http://www.theserverside.com/skin/reviews/images/matrixheader.gif" width="400"/&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.theserverside.com/"&gt;TheServerSide.com&lt;/a&gt; is providing an Application Server Matrix. Have a look at &lt;a href="http://www.theserverside.com/reviews/matrix.tss"&gt;http://www.theserverside.com/reviews/matrix.tss&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111549809778727104?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111549809778727104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111549809778727104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111549809778727104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111549809778727104'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/application-server-matrix.html' title='Application Server Matrix'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111533417683147806</id><published>2005-05-06T00:58:00.000+02:00</published><updated>2005-05-06T01:02:56.840+02:00</updated><title type='text'>Update site available for eclipse-tutorial.dev.java.net</title><content type='html'>&lt;img src="https://eclipse-tutorial.dev.java.net/eclipse-tutorial.dev.java.net.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;The update site for eclipse-tutorial.dev.java.net is now available on the project site:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;https://eclipse-tutorial.dev.java.net/update&lt;/li&gt; &lt;/ul&gt; Enjoy :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111533417683147806?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111533417683147806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111533417683147806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111533417683147806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111533417683147806'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/update-site-available-for-eclipse.html' title='Update site available for eclipse-tutorial.dev.java.net'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111443771838800284</id><published>2005-05-05T15:43:00.000+02:00</published><updated>2005-05-06T15:47:06.116+02:00</updated><title type='text'>Static Code Analysis</title><content type='html'>If you would like to improve the quality of your code you can use a set of open source tools to achieve that. For &lt;a href="http://java.sun.com/"&gt;Java&lt;/a&gt; there are many different tools, covering different aspects of &lt;a href="http://www.google.ch/search?&amp;q=+static+code+analysis+java+programming+language"&gt;static code analysis&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Please keep in mind, that automated static code analysis, never gives you a 100% answer about the quality of your code. From my point of view, it's more about getting some indications if your code has more or less options for improvements. Believe me, most of the time, there are more options for improvements then you would think of...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Code Conventions - CheckStyle&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let's start with the basic need of code conventions. If you start a new project you would like to have some conventions how the code has to be written. There are some &lt;a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html"&gt;Java code conventions provided by Sun&lt;/a&gt;, but you don't want to check them manually, do you?&lt;br /&gt;&lt;br /&gt;To ensure, that your code is written according to your conventions, you can use &lt;a href="http://checkstyle.sf.net/"&gt;CheckStyle&lt;/a&gt;. Run your checks with Ant or a command line tool.&lt;br /&gt;&lt;br /&gt;It's highly recommended to use &lt;a href="http://ant.apache.org/"&gt;Ant&lt;/a&gt; or &lt;a href="http://maven.apache.org/"&gt;Maven&lt;/a&gt; to do the checks, since you would like to have a complete build cycle with different tools.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Code Reviews - Hammurapi, PMD&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Usually there are some development guidelines, best practices or just how-to's while your working on a project, a framework or an application. These guidelines try to improve the quality of your software. But how do you check, if people follow these guidelines? Usually you do code reviews and try to find obvious mistakes. But unfortunately code reviews are very time consuming and expensive.&lt;br /&gt;&lt;br /&gt;You can automatize certain aspects of the review process, by checking your code with tools like &lt;a href="http://hammurapi.org/content/home.html"&gt;Hammurapi&lt;/a&gt; or &lt;a href="http://pmd.sourceforge.net/"&gt;PMD&lt;/a&gt;. Both tools provide rules which are organized in different groups, like: database connection pool, EJB, exception handling, and many more. Have a look at the project sites to get an overview of all the available rules.&lt;br /&gt;&lt;br /&gt;If you have some special guidelines, which are important for your project, but not available in Hammurapi or PMD, you can write your own rules. Both tools are providing a simple interface to add new, project specific rules.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Common Bugs - FindBugs&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;There are many different type of bugs, you can write :-) and many times they follow a certain pattern. With &lt;a href="http://findbugs.sf.net/"&gt;FindBugs&lt;/a&gt; you can analyze your code and it'll check it according to a huge set of possible bugs, based on patterns.&lt;br /&gt;&lt;br /&gt;Once again, there is no guarantee, you'll find all the bugs or it'll even point you to some code fragments which don't have a bug at all.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Testing - JUnit, TestNG&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Testing is one of the most important aspects of quality. If you don't write test cases for your software, you don't know, what you are developing. Testing is a necessary precondition for refactoring. If you refactor your code, without test cases, you can't tell, if you changed something in the functionality or not.&lt;br /&gt;&lt;br /&gt;A quasi standard testing tool is &lt;a href="http://www.junit.org/"&gt;JUnit&lt;/a&gt;. It's a simple testing framework for unit testing. There is a huge set of tools, using JUnit as a core to test different aspcets, like &lt;a href="http://httpunit.sourceforge.net/"&gt;HTTPUnit&lt;/a&gt;, &lt;a href="http://jakarta.apache.org/cactus/"&gt;Cactus &lt;/a&gt;or &lt;a href="http://strutstestcase.sourceforge.net/"&gt;StrutsTestCase&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In the last few months an other testing framework got a lot of attention, it's called &lt;a href="http://www.beust.com/testng/"&gt;TestNG&lt;/a&gt;. Since JUnit has many limitations, there is a need for a more flexible testing framework.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Coverage - Corbertura, JCoverage, EMMA&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;While writing unit tests for your software, you would like to know, how much of your code is covered by your tests. There are quite many tools, which try to address this need. Have a look at &lt;a href="http://cobertura.sourceforge.net/"&gt;Corbertura&lt;/a&gt;, &lt;a href="http://www.jcoverage.com/products/jcoverage-gpl.html"&gt;JCoverage&lt;/a&gt; or &lt;a href="http://emma.sourceforge.net/"&gt;EMMA&lt;/a&gt; for a start.&lt;br /&gt;&lt;br /&gt;Many times the coverage tools are used for analyzing the test coverage of your software. An other nice aspect would be, to analyze the code which has been used during the execution of your application. These could show you, which code has been "touched" during the exectution and if you have to do some bug fixing, you would see, if a certain class is used quite often or seldom.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Test Quality - Jester&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To find out, how robust your test classes and methods are, you can use &lt;a href="http://jester.sourceforge.net/"&gt;Jester&lt;/a&gt; to test your test code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Build Environment - Ant, Maven&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As mentioned above, you should atomize your build environment. I think, the quasi standard to do this is &lt;a href="http://ant.apache.org/"&gt;Ant&lt;/a&gt;. Another very nice tool, is &lt;a href="http://maven.apache.org/"&gt;Maven&lt;/a&gt;. Both are providing the possibility to atomize a complex set of task.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Contiunous Integration - CruiseControl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finally, you would like to analyze your code as often as possible. Now we are talking about &lt;a href="http://www.martinfowler.com/articles/continuousIntegration.html"&gt;continuous integration&lt;/a&gt;. Please take the time and read the article of &lt;a href="http://www.martinfowler.com/"&gt;Martin Fowler&lt;/a&gt; about continuous integration, I belive it's a must for every developer!&lt;br /&gt;&lt;br /&gt;A great tool, to set up an continuous integration environment is &lt;a href="http://cruisecontrol.sourceforge.net/"&gt;CruiseControl&lt;/a&gt;. There are some other tools, but I won't mention them here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111443771838800284?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111443771838800284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111443771838800284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111443771838800284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111443771838800284'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/05/static-code-analysis.html' title='Static Code Analysis'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111438095804932675</id><published>2005-04-25T00:04:00.000+02:00</published><updated>2005-04-25T00:26:17.410+02:00</updated><title type='text'>Google How-To</title><content type='html'>&lt;img src="http://www.google.com/intl/en/images/logo.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.com/"&gt;Google &lt;/a&gt;provides many services around searching. Are you sure, you use Google the best way and that you get the maximum out of it?&lt;br /&gt;&lt;br /&gt;If you are not sure, have a look at these links:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Google Basic Search (&lt;a href="http://www.google.com/intl/en/help/basics.html"&gt;http://www.google.com/intl/en/help/basics.html&lt;/a&gt;)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Google Advanced Search (&lt;a href="http://www.google.com/advanced_search"&gt;http://www.google.com/advanced_search&lt;/a&gt;)&lt;/li&gt;    &lt;li&gt;Google Help: Advanced Search (&lt;a href="http://www.google.com/help/refinesearch.html"&gt;http://www.google.com/help/refinesearch.html&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Google Web Search Features (&lt;a href="http://www.google.com/help/features.html"&gt;http://www.google.com/help/features.html&lt;/a&gt;)&lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Google Guide (&lt;a href="http://www.googleguide.com/index.html"&gt;http://www.googleguide.com/index.html&lt;/a&gt;)&lt;/li&gt;   &lt;li&gt;Google Weblog (&lt;a href="http://google.blogspace.com/"&gt;http://google.blogspace.com/&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;StumbleUpon Google Group (&lt;a href="http://google.group.stumbleupon.com/"&gt;http://google.group.stumbleupon.com/&lt;/a&gt;)&lt;/li&gt;  &lt;/ul&gt;Google started recently a personal search history. You can get an account and tracking your searches:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Google Search History (&lt;a href="http://www.google.com/searchhistory/"&gt;http://www.google.com/searchhistory/&lt;/a&gt;)&lt;br /&gt;  &lt;/li&gt; &lt;/ul&gt; And if you would like to develop your own application, Google provides a search API:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Google Web Search API (&lt;a href="http://www.google.com/apis/"&gt;http://www.google.com/apis/&lt;/a&gt;)&lt;br /&gt;  &lt;/li&gt; &lt;/ul&gt; Happy googeling ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111438095804932675?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111438095804932675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111438095804932675' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111438095804932675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111438095804932675'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/04/google-how-to.html' title='Google How-To'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111430251140901398</id><published>2005-04-24T02:21:00.000+02:00</published><updated>2005-04-24T02:28:31.410+02:00</updated><title type='text'>Eclipse Help Plugin for eclipse-tutorial.dev.java.net</title><content type='html'>&lt;img src="https://eclipse-tutorial.dev.java.net/eclipse-tutorial.dev.java.net.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;I packed the &lt;a href="https://eclipse-tutorial.dev.java.net/"&gt;eclipse-tutorial.dev.java.net&lt;/a&gt; Tutorials into an &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; Help Plugin, which is available in the Help Contents of Eclipse.&lt;br /&gt;&lt;br /&gt;For the moment you can reach the Update Site on:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.tomi.ch/informatik/eclipse/tutorial/update/"&gt;http://www.tomi.ch/informatik/eclipse/tutorial/update/&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; The plugin and the eclipse-tutorial.dev.java.net is not in sync, since I didn't automated it yet. I'll update the plugin from time to time...&lt;br /&gt;&lt;br /&gt;If you have any suggestions, please let me know...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111430251140901398?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111430251140901398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111430251140901398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111430251140901398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111430251140901398'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/04/eclipse-help-plugin-for-eclipse.html' title='Eclipse Help Plugin for eclipse-tutorial.dev.java.net'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111320947258955432</id><published>2005-04-11T10:47:00.000+02:00</published><updated>2005-04-11T10:51:12.590+02:00</updated><title type='text'>CruiseControl Action Movie</title><content type='html'>If you like the idea of &lt;a href="http://www.martinfowler.com/articles/continuousIntegration.html"&gt;continuous intergration&lt;/a&gt;, check out a &lt;a href="http://cruisecontrol.sourceforge.net/"&gt;CruiseControl&lt;/a&gt; action movie by   &lt;a href="http://www.clarkware.com/cgi/blosxom"&gt;Mike Clark&lt;/a&gt;:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.pragmaticautomation.com/cgi-bin/pragauto.cgi/Build/CCActionMovie.rdoc"&gt;CruiseControl Action Movie&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111320947258955432?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111320947258955432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111320947258955432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111320947258955432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111320947258955432'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/04/cruisecontrol-action-movie.html' title='CruiseControl Action Movie'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111320845046887491</id><published>2005-04-11T10:21:00.000+02:00</published><updated>2005-04-11T10:35:38.533+02:00</updated><title type='text'>Network Prefetching in Firefox</title><content type='html'>&lt;a href="http://www.spreadfirefox.com/?q=affiliates&amp;amp;id=0&amp;amp;t=56"&gt;&lt;img alt="Get Firefox!" title="Get Firefox!" src="http://sfx-images.mozilla.org/affiliates/Buttons/180x60/take.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Firefox is supporting a prefetching mechanism, which allows to download site's in the background.&lt;br /&gt;&lt;br /&gt;You can enable prefetching by doing the following:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Type "&lt;span style="font-family:courier new;"&gt;about:config&lt;/span&gt;" in the address bar.&lt;br /&gt;&lt;/li&gt;        &lt;li&gt;Scroll down to the setting "&lt;span style="font-family:courier new;"&gt;network.prefetch-next&lt;/span&gt;" and set the value to "&lt;span style="font-family:courier new;"&gt;true&lt;/span&gt;".&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;By default, prefetching is enabled.&lt;br /&gt;&lt;br /&gt;Check out these links for more information:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.mozilla.org/projects/netlib/Link_Prefetching_FAQ.html"&gt;Firefox Prefetching FAQ&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.google.com/help/features.html#prefetch"&gt;Google Result Prefetching&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111320845046887491?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111320845046887491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111320845046887491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111320845046887491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111320845046887491'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/04/network-prefetching-in-firefox.html' title='Network Prefetching in Firefox'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111308423172650718</id><published>2005-04-10T00:02:00.000+02:00</published><updated>2005-04-10T00:05:26.563+02:00</updated><title type='text'>Maven 2.0 Technology Preview Release</title><content type='html'>&lt;img src="http://maven.apache.org/images/maven-small.gif" /&gt;&lt;br /&gt;&lt;br /&gt;The first Maven 2.0 Technology Preview release is now out:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://maven.apache.org/maven2/index.html"&gt;http://maven.apache.org/maven2/index.html&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111308423172650718?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111308423172650718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111308423172650718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111308423172650718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111308423172650718'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/04/maven-20-technology-preview-release.html' title='Maven 2.0 Technology Preview Release'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111305132665572224</id><published>2005-04-09T14:40:00.000+02:00</published><updated>2005-04-25T00:27:49.740+02:00</updated><title type='text'>Eclipse Plugins</title><content type='html'>&lt;img src="http://www.eclipse.org/images/EclipseBannerPic.jpg"&gt;&lt;br /&gt;&lt;br /&gt;If you are looking for &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; plugins, check the following sites...&lt;br /&gt;&lt;br /&gt;The Eclipse project is maintaining a community page with many links:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.eclipse.org/community/osplugins.html"&gt;&lt;span class="indextop"&gt;open source projects and        plug-ins&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; There is also a great site by Urbaan, with a huge list of plugins:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.eclipse-plugins.info/eclipse/index.jsp"&gt;www.eclipse-plugins.info&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; It's also worth to check a site provided by &lt;span class="pn-content-page-body"&gt;Genuitec,          Innoopract, and Instantiations&lt;/span&gt;:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.eclipseplugincentral.com/"&gt;Eclipse Plugin Resource Center and Marketplace&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; And of course there are some sites by IBM, including as well articles and tutorials:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.alphaworks.ibm.com/eclipse"&gt;AlphaWorks - Eclipse technology&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www-128.ibm.com/developerworks/opensource/top-projects/eclipse.html"&gt;DeveloperWorks - Eclipse technology&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.research.ibm.com/eclipse/"&gt;IBM Research - Eclipse technology&lt;/a&gt;&lt;br /&gt; &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111305132665572224?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111305132665572224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111305132665572224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111305132665572224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111305132665572224'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/04/eclipse-plugins.html' title='Eclipse Plugins'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111294987419630320</id><published>2005-04-08T10:44:00.000+02:00</published><updated>2005-04-09T13:54:09.143+02:00</updated><title type='text'>Source Code Search Engines</title><content type='html'>&lt;p&gt;Lately I was thinking about all the open source code which is available around the world. I was asking myself, how it would be possible to search through all this code and to use it for studies and analysis.&lt;br /&gt;&lt;/p&gt;Of course, this is not a new idea and I was surprised how many tools try to address this topic in one or another way...&lt;br /&gt;&lt;br /&gt;Source Code:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.koders.com/"&gt;http://www.koders.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.koders.com/skins/koders/logo_big.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;From the site:&lt;/i&gt; Koders.com is the leading search engine for open source code. Our source code optimized search engine provides developers with an easy-to-use interface to search for source code examples and discover new open source projects which can be leveraged in their applications.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.jexamples.com/search.html"&gt;http://www.jexamples.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.jexamples.com/JExamplesLogo.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;From the site:&lt;/i&gt; We analyze the source code of production Java open source projects such as Ant, Tomcat and Batik and load that analysis into a database designed for easy searching. You enter the name of a Java Class.method you want to see example invocations of and click Search.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://archive.devx.com/sourcebank/index.asp"&gt;http://archive.devx.com/sourcebank/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://archive.devx.com/sourcebank/images/logo8.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;From the site:&lt;/i&gt; DevX's Sourcebank is a directory of links to source code and script posted around the Web. Use the Search option to find terms within the source code. To cast the widest net, use the search with All Types selected. Or, you can browse through a subset of the code by categories (below). First, select a filter, such as C or Java, by clicking on one of the square buttons and then choose one of the categories (such as Mathematics) from within that filter.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://gonzui.sourceforge.net/"&gt;http://gonzui.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;From the site:&lt;/i&gt; gonzui is a source code search engine for accelerating open source software development. In the open source software development, programmers frequently refer to source codes written by others. Our goal is to help programmers develop programs effectively by creating a source code search engine that covers vast quantities of open source codes available on the Internet.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;Components, Libraries:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codezoo.net/"&gt;http://www.codezoo.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.codezoo.net/images/header-codezoo-logo.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;From the site:&lt;/i&gt; CodeZoo exists to help you find high-quality, freely available, reusable components, getting you past the repetitive parts of coding, and onto the rest and the best of your projects. It’s a fast-forward button for your compiler.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.jarhoo.com/"&gt;http://www.jarhoo.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.jarhoo.com/jarhoo/logo.JPG" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;From the site:&lt;/i&gt; Searches for jar files or fully qualified java class names usually performed under 2 seconds. Package or non-qualified class name searches may take around 10 seconds&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;Javadoc:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.jdocs.com/"&gt;http://www.jdocs.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.jdocs.com/images/logos/jdocs_logo_large.png" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;From the site:&lt;/i&gt; JDocs is a comprehensive online resource for Java API documentation. All the javadocs for a variety of popular packages are loaded into our db-driven system, and users can contribute their own notes to virtually any class, field, method. In short, JDocs provides a knowledge base defined around the major Java api's themselves, so you can find the information you're looking for right where it should be... in the documentation!&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://javadocs.org/"&gt;http://javadocs.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;From the site:&lt;/i&gt; You can search from the url, eg: javadocs.org/string&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://ashkelon.sourceforge.net/"&gt;http://ashkelon.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ashkelon.sourceforge.net/ashkelon-logo.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;From the site:&lt;/i&gt; ashkelon is an open source project. It is a Java API documentation tool designed for Java developers. Its goals are the same as the goals of the well-known javadoc tool that comes with J2SE, whose user interface most java developers are quite familiar with.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111294987419630320?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111294987419630320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111294987419630320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111294987419630320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111294987419630320'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/04/source-code-search-engines.html' title='Source Code Search Engines'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111254909602042065</id><published>2005-04-03T19:24:00.000+02:00</published><updated>2005-04-09T14:00:10.723+02:00</updated><title type='text'>New Visual Eclipse Tutorial Available: Adding, Moving and Docking Views</title><content type='html'>&lt;img src="https://eclipse-tutorial.dev.java.net/eclipse-tutorial.dev.java.net.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;I've added a new visual tutorial to the &lt;a href="https://eclipse-tutorial.dev.java.net/"&gt;eclipse-tutorial.dev.java.net&lt;/a&gt; project:&lt;ul&gt;&lt;li&gt;&lt;a href="https://eclipse-tutorial.dev.java.net/visual-tutorials/part3.html"&gt;Part 3 - Adding, Moving and Docking Views&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111254909602042065?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111254909602042065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111254909602042065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111254909602042065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111254909602042065'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/04/new-visual-eclipse-tutorial-available.html' title='New Visual Eclipse Tutorial Available: Adding, Moving and Docking Views'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111168575717597746</id><published>2005-03-24T18:35:00.000+01:00</published><updated>2005-04-03T19:28:41.303+02:00</updated><title type='text'>Project "PMD" has released the new version</title><content type='html'>&lt;img src="http://pmd.sourceforge.net/images/pmd_logo_small.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;i&gt;From the site...&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;PMD scans Java source code and looks for potential problems like:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Empty try/catch/finally/switch blocks&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Unused local variables, parameters and private methods&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Empty if/while statements&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Overcomplicated expressions - unnecessary if statements, for loops that could be while loops&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Classes with high Cyclomatic Complexity measurements&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;PMD has plugins for JDeveloper, Eclipse, JEdit, JBuilder, Omnicore's CodeGuide, NetBeans/Sun ONE Studio, IntelliJ IDEA, TextPad, Maven, Ant, Gel, JCreator, and Emacs. You can download everything from here.&lt;br /&gt;&lt;br /&gt;Check out the project: &lt;a href="http://pmd.sf.net/"&gt;http://pmd.sf.net/&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111168575717597746?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111168575717597746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111168575717597746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111168575717597746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111168575717597746'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/03/project-pmd-has-released-new-version.html' title='Project &quot;PMD&quot; has released the new version'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11400790.post-111158514711618209</id><published>2005-03-23T14:38:00.000+01:00</published><updated>2005-03-23T14:39:07.116+01:00</updated><title type='text'>New Blog...</title><content type='html'>Starting a new Blog on &lt;a href="http://www.blogger.com/"&gt;Blogger.com&lt;/a&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11400790-111158514711618209?l=tomionsoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tomionsoftware.blogspot.com/feeds/111158514711618209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11400790&amp;postID=111158514711618209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111158514711618209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11400790/posts/default/111158514711618209'/><link rel='alternate' type='text/html' href='http://tomionsoftware.blogspot.com/2005/03/new-blog.html' title='New Blog...'/><author><name>Tomi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://www.tomi.ch/images/stories/personal/tomischuetz.jpg'/></author><thr:total>0</thr:total></entry></feed>
