<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Andreas Höhmann&#039;s Weblog &#187; Java</title>
	<atom:link href="http://ahoehma.wordpress.com/category/softwareentwicklung/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://ahoehma.wordpress.com</link>
	<description></description>
	<lastBuildDate>Thu, 26 Nov 2009 15:53:12 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='ahoehma.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/6b74f500a29ea048aa3d7a14adc1a24f?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Andreas Höhmann&#039;s Weblog &#187; Java</title>
		<link>http://ahoehma.wordpress.com</link>
	</image>
			<item>
		<title>Concept to handle minimal and maximal tests in a maven project</title>
		<link>http://ahoehma.wordpress.com/2009/11/26/concept-to-handle-minimal-and-maximal-tests-in-a-maven-project/</link>
		<comments>http://ahoehma.wordpress.com/2009/11/26/concept-to-handle-minimal-and-maximal-tests-in-a-maven-project/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 13:03:29 +0000</pubDate>
		<dc:creator>Andreas Höhmann</dc:creator>
				<category><![CDATA[Maven]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[TeamCity]]></category>
		<category><![CDATA[TestNG]]></category>
		<category><![CDATA[Surefire]]></category>

		<guid isPermaLink="false">http://ahoehma.wordpress.com/?p=496</guid>
		<description><![CDATA[In real world applications we have all too often external dependencies in test cases. Sometimes theses third party are not always available (i.e. remote webservices).
For continuous integration I want check a minimal set of tests but for my local development i want check a maximal set of tests. I want run my tests on command [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=496&subd=ahoehma&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In real world applications we have all too often external dependencies in test cases. Sometimes theses third party are not always available (i.e. remote webservices).</p>
<p>For continuous integration I want check a minimal set of tests but for my local development i want check a maximal set of tests. I want run my tests on command line (via <a href="http://maven.apache.org/" target="_blank">maven</a>) and in eclipse (via <a href="http://testng.org/doc/eclipse.html" target="_blank">testng-plugin</a>).</p>
<p>Here is my idea to do that &#8230;</p>
<p>My project super pom defines 2 profiles:</p>
<ul>
<li>test-min
<ol>
<li> active by default</li>
<li>exclude testng groups (online-tests, thirdparty-tests,&#8230;)</li>
</ol>
</li>
<li>test-max
<ol>
<li>run a defined testng suite</li>
<li>the suite defines a maximal set of test (all testng groups)</li>
</ol>
</li>
</ul>
<pre class="brush: xml;">
&lt;profiles&gt;
  &lt;profile&gt;
    &lt;id&gt;test-min&lt;/id&gt;
    &lt;activation&gt;
      &lt;activeByDefault&gt;true&lt;/activeByDefault&gt;
    &lt;/activation&gt;
    &lt;build&gt;
      &lt;plugins&gt;
        &lt;plugin&gt;
          &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
          &lt;inherited&gt;true&lt;/inherited&gt;
          &lt;configuration&gt;
            &lt;excludedGroups&gt;${excludedTestGroups}&lt;/excludedGroups&gt;
          &lt;/configuration&gt;
        &lt;/plugin&gt;
      &lt;/plugins&gt;
    &lt;/build&gt;
  &lt;/profile&gt;
  &lt;profile&gt;
    &lt;id&gt;test-max&lt;/id&gt;
    &lt;build&gt;
      &lt;plugins&gt;
        &lt;plugin&gt;
          &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
          &lt;inherited&gt;true&lt;/inherited&gt;
          &lt;configuration&gt;
            &lt;suiteXmlFiles&gt;
              ${basedir}/src/test/resources/Testsuite.xml
            &lt;/suiteXmlFiles&gt;
          &lt;/configuration&gt;
        &lt;/plugin&gt;
      &lt;/plugins&gt;
    &lt;/build&gt;
  &lt;/profile&gt;
&lt;/profiles&gt;
&lt;properties&gt;
  &lt;excludedTestGroups&gt;online,integration,thirdparty&lt;/excludedTestGroups&gt;
&lt;/properties&gt;
</pre>
<p>Each subproject must define a testng <strong>src/test/resources/Testsuite.xml</strong>:</p>
<pre class="brush: xml;">
&lt;!DOCTYPE suite SYSTEM &quot;http://testng.org/testng-1.0.dtd&quot;&gt;
&lt;suite name=&quot;TestSuite for Foobar&quot;&gt;
  &lt;test name=&quot;Online Tests&quot;&gt;
    &lt;packages&gt;
      &lt;package name=&quot;de.foobar.*&quot; /&gt;
    &lt;/packages&gt;
    &lt;groups&gt;
      &lt;run&gt;
        &lt;include name=&quot;online&quot; /&gt;
      &lt;/run&gt;
    &lt;/groups&gt;
  &lt;/test&gt;
  &lt;test name=&quot;Integration Tests&quot;&gt;
    &lt;packages&gt;
      &lt;package name=&quot;de.foobar.*&quot; /&gt;
    &lt;/packages&gt;
    &lt;groups&gt;
      &lt;run&gt;
        &lt;include name=&quot;integration&quot; /&gt;
      &lt;/run&gt;
    &lt;/groups&gt;
  &lt;/test&gt;
  &lt;test name=&quot;Thirdparty Tests&quot;&gt;
    &lt;packages&gt;
      &lt;package name=&quot;de.foobar.*&quot; /&gt;
    &lt;/packages&gt;
    &lt;groups&gt;
      &lt;run&gt;
        &lt;include name=&quot;thirdparty&quot; /&gt;
      &lt;/run&gt;
    &lt;/groups&gt;
  &lt;/test&gt;
  &lt;!-- Each project can define MORE groups: i.e. &quot;interactive&quot; --&gt;
  &lt;test name=&quot;Other Tests&quot;&gt;
    &lt;packages&gt;
      &lt;package name=&quot;de.foobar.*&quot; /&gt;
    &lt;/packages&gt;
    &lt;groups&gt;
      &lt;run&gt;
        &lt;exclude name=&quot;online&quot; /&gt;
        &lt;exclude name=&quot;integration&quot; /&gt;
        &lt;exclude name=&quot;thirdparty&quot; /&gt;
        &lt;!-- Each project can define MORE groups: i.e. &quot;interactive&quot; --&gt;
      &lt;/run&gt;
    &lt;/groups&gt;
  &lt;/test&gt;
&lt;/suite&gt;
</pre>
<p>If the sub project defines more exclude groups (i.e. a additional &#8220;interactive&#8221; group) then the pom must overwrite the excludedTestGroups property:</p>
<pre class="brush: xml;">
&lt;properties&gt;
  &lt;excludedTestGroups&gt;online,integration,thirdparty,interactive&lt;/excludedTestGroups&gt;
&lt;/properties&gt;
</pre>
<p>To check the correct configuration of the two profiles we can use <strong>help:effective-pom</strong>:</p>
<p><code>mvn -Ptest-min help:effective-pom | less</code></p>
<pre class="brush: xml;">
&lt;plugin&gt;
  &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
  &lt;configuration&gt;
    &lt;excludedGroups&gt;online,integration,thirdparty,interactive&lt;/excludedGroups&gt;
  &lt;/configuration&gt;
&lt;/plugin&gt;
</pre>
<p><code>mvn -Ptest-max help:effective-pom | less</code></p>
<pre class="brush: xml;">
&lt;plugin&gt;
  &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
  &lt;configuration&gt;
    &lt;suiteXmlFiles&gt;
      &lt;suiteXmlFile&gt;d:\foobar\src/test/resources/Testsuite.xml&lt;/suiteXmlFile&gt;
    &lt;/suiteXmlFiles&gt;
  &lt;/configuration&gt;
&lt;/plugin&gt;
</pre>
<p>Now I can run min/max tests for each project which depend on the above super-pom. The test-min is the default profile and would be used on the continuous integration system (i.e. <a href="http://www.jetbrains.com/teamcity/">TeamCity</a>).</p>
<p>Try it <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ahoehma.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ahoehma.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ahoehma.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ahoehma.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ahoehma.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ahoehma.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ahoehma.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ahoehma.wordpress.com/496/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ahoehma.wordpress.com/496/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ahoehma.wordpress.com/496/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=496&subd=ahoehma&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ahoehma.wordpress.com/2009/11/26/concept-to-handle-minimal-and-maximal-tests-in-a-maven-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/438fe36eabd9440a47ba9463aa194ac1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ahoehma</media:title>
		</media:content>
	</item>
		<item>
		<title>Maven https repository with self-signed ssl certificate</title>
		<link>http://ahoehma.wordpress.com/2009/11/17/maven-https-repository-with-self-signed-ssl-certificate/</link>
		<comments>http://ahoehma.wordpress.com/2009/11/17/maven-https-repository-with-self-signed-ssl-certificate/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 12:39:56 +0000</pubDate>
		<dc:creator>Andreas Höhmann</dc:creator>
				<category><![CDATA[Maven]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[mirror]]></category>
		<category><![CDATA[Nexus]]></category>
		<category><![CDATA[self signed]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://ahoehma.wordpress.com/?p=488</guid>
		<description><![CDATA[For a private project I try to use nexus behind apache and ssl. I used a self-signed certificate.
But each nexus repository request ends with a security exception:
[WARNING] repository metadata for: 'artifact org.apache.maven.plugins:maven-enforcer-plugin' could not be retrieved from repository: nexus-plugin-releases due to an error: Error transferring file: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=488&subd=ahoehma&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>For a private project I try to use nexus behind apache and ssl. I used a self-signed certificate.</p>
<p>But each nexus repository request ends with a security exception:</p>
<p><code>[WARNING] repository metadata for: 'artifact org.apache.maven.plugins:maven-enforcer-plugin' could not be retrieved from repository: nexus-plugin-releases due to an error: Error transferring file: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target<br />
</code></p>
<p>I found many site for that problem and they describe always the same solution</p>
<p><strong>import the self signed cert in your local truststore!</strong></p>
<p>&#8230; here are the steps:</p>
<ol>
<li>download the certificate</li>
<li>create a local truststore and import the certificat</li>
<li>call maven with the correct security properties</li>
</ol>
<p>The import is simple  (java keytool):</p>
<pre>keytool.exe -importcert
            -alias nexus-xxx
            -keystore xxx.jks
            -storepass secret
            -file xxx.crt</pre>
<p>For maven I&#8217;m using a cygwin bash alias:</p>
<pre>alias mvn_xxx='/cygdrive/d/maven-2.2.1/bin/mvn
-gs "d:/maven-2.2.1/conf/settings-xxx.xml"
-s "d:/maven-2.2.1/conf/settings-xxx.xml"
-Djavax.net.ssl.trustStore=d:/maven-2.2.1/conf/xxx.jks
-Djavax.net.ssl.trustStorePassword=secret'</pre>
<p>I point the global config  (<em>-gs</em>) and the personal config (<em>-s</em>) to the same file to ignore other configuration from my default maven config file (i.e. common mirros settings / repositories etc.).</p>
<p>And at least here is my complete maven setting-nexus settings:</p>
<pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;settings xmlns=&quot;http://maven.apache.org/settings/1.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
  xsi:schemaLocation=&quot;http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd&quot;&gt;

  &lt;localRepository&gt;D:\maven-repository-xxx&lt;/localRepository&gt;

  &lt;mirrors&gt;
    &lt;mirror&gt;
      &lt;id&gt;xxx-nexus-snapshots&lt;/id&gt;
      &lt;mirrorOf&gt;nexus-snapshots&lt;/mirrorOf&gt;
      &lt;url&gt;https://nexus.xxx.com/content/groups/public-snapshots/&lt;/url&gt;
    &lt;/mirror&gt;
    &lt;mirror&gt;
      &lt;id&gt;xxx-nexus-snapshots&lt;/id&gt;
      &lt;mirrorOf&gt;nexus-plugin-snapshots&lt;/mirrorOf&gt;
      &lt;url&gt;https://nexus.xxx.com/content/groups/public-snapshots/&lt;/url&gt;
    &lt;/mirror&gt;
    &lt;mirror&gt;
      &lt;id&gt;xxx-nexus-releases&lt;/id&gt;
      &lt;mirrorOf&gt;nexus-releases&lt;/mirrorOf&gt;
      &lt;url&gt;https://nexus.xxx.com/content/groups/public/&lt;/url&gt;
    &lt;/mirror&gt;
    &lt;mirror&gt;
      &lt;id&gt;xxx-nexus-releases&lt;/id&gt;
      &lt;mirrorOf&gt;nexus-plugin-releases&lt;/mirrorOf&gt;
      &lt;url&gt;https://nexus.xxx.com/content/groups/public/&lt;/url&gt;
    &lt;/mirror&gt;
    &lt;mirror&gt;
      &lt;id&gt;xxx-nexus-releases&lt;/id&gt;
      &lt;mirrorOf&gt;*&lt;/mirrorOf&gt;
      &lt;url&gt;https://nexus.xxx.com/content/groups/public/&lt;/url&gt;
    &lt;/mirror&gt;
  &lt;/mirrors&gt;

  &lt;profiles&gt;
    &lt;profile&gt;
      &lt;id&gt;xxx-nexus-mirror&lt;/id&gt;
      &lt;activation&gt;
        &lt;activeByDefault&gt;true&lt;/activeByDefault&gt;
      &lt;/activation&gt;
      &lt;repositories&gt;
        &lt;repository&gt;
          &lt;id&gt;nexus-releases&lt;/id&gt;
          &lt;url&gt;http://foobar&lt;/url&gt;
          &lt;releases&gt;
            &lt;enabled&gt;true&lt;/enabled&gt;
          &lt;/releases&gt;
          &lt;snapshots&gt;
            &lt;enabled&gt;false&lt;/enabled&gt;
          &lt;/snapshots&gt;
        &lt;/repository&gt;
        &lt;repository&gt;
          &lt;id&gt;nexus-snapshots&lt;/id&gt;
          &lt;url&gt;http://foobar&lt;/url&gt;
          &lt;releases&gt;
            &lt;enabled&gt;false&lt;/enabled&gt;
          &lt;/releases&gt;
          &lt;snapshots&gt;
            &lt;enabled&gt;true&lt;/enabled&gt;
          &lt;/snapshots&gt;
        &lt;/repository&gt;
      &lt;/repositories&gt;
      &lt;pluginRepositories&gt;
        &lt;pluginRepository&gt;
          &lt;id&gt;nexus-plugin-releases&lt;/id&gt;
          &lt;url&gt;http://foobar&lt;/url&gt;
          &lt;releases&gt;
            &lt;enabled&gt;true&lt;/enabled&gt;
          &lt;/releases&gt;
          &lt;snapshots&gt;
            &lt;enabled&gt;false&lt;/enabled&gt;
          &lt;/snapshots&gt;
        &lt;/pluginRepository&gt;
        &lt;pluginRepository&gt;
          &lt;id&gt;nexus-plugin-snapshots&lt;/id&gt;
          &lt;url&gt;http://foobar&lt;/url&gt;
          &lt;releases&gt;
            &lt;enabled&gt;false&lt;/enabled&gt;
          &lt;/releases&gt;
          &lt;snapshots&gt;
            &lt;enabled&gt;true&lt;/enabled&gt;
          &lt;/snapshots&gt;
        &lt;/pluginRepository&gt;
      &lt;/pluginRepositories&gt;
    &lt;/profile&gt;
  &lt;/profiles&gt;

  &lt;servers&gt;
    &lt;server&gt;
      &lt;id&gt;xxx-nexus-releases&lt;/id&gt;
      &lt;username&gt;foo&lt;/username&gt;
      &lt;password&gt;bar&lt;/password&gt;
    &lt;/server&gt;
    &lt;server&gt;
      &lt;id&gt;xxx-nexus-snapshots&lt;/id&gt;
      &lt;username&gt;foo&lt;/username&gt;
      &lt;password&gt;bar&lt;/password&gt;
    &lt;/server&gt;
  &lt;/servers&gt;

&lt;/settings&gt;
</pre>
<p>You can replace xxx with your personal domain-alias.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ahoehma.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ahoehma.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ahoehma.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ahoehma.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ahoehma.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ahoehma.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ahoehma.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ahoehma.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ahoehma.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ahoehma.wordpress.com/488/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=488&subd=ahoehma&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ahoehma.wordpress.com/2009/11/17/maven-https-repository-with-self-signed-ssl-certificate/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/438fe36eabd9440a47ba9463aa194ac1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ahoehma</media:title>
		</media:content>
	</item>
		<item>
		<title>Richfaces modal panel default formular action</title>
		<link>http://ahoehma.wordpress.com/2009/11/16/richfaces-modal-panel-default-formular-action/</link>
		<comments>http://ahoehma.wordpress.com/2009/11/16/richfaces-modal-panel-default-formular-action/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 14:35:01 +0000</pubDate>
		<dc:creator>Andreas Höhmann</dc:creator>
				<category><![CDATA[Richfaces]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[hotkey]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[modal]]></category>
		<category><![CDATA[panel]]></category>

		<guid isPermaLink="false">http://ahoehma.wordpress.com/?p=479</guid>
		<description><![CDATA[Each input dialog should have a default action for good useability.
If the user hit &#8216;Enter&#8217; then the default action should execute.
Here is my example of a richfaces modal edit dialog for such a requirement &#8230;
The dialog have input fields and 3 actions:

save &#8211; is the default action if the user hit &#8216;Enter&#8216; anywhere in the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=479&subd=ahoehma&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Each input dialog should have a default action for good useability.</p>
<p>If the user hit &#8216;Enter&#8217; then the default action should execute.</p>
<p>Here is my example of a richfaces modal edit dialog for such a requirement &#8230;</p>
<p>The dialog have input fields and 3 actions:</p>
<ul>
<li>save &#8211; is the default action if the user hit &#8216;<strong>Enter</strong>&#8216; anywhere in the formular</li>
<li>cancel &#8211; is  the default action if the user hit &#8216;<strong>Esc</strong>&#8216; anywhere in the formular</li>
<li>reset</li>
</ul>
<pre class="brush: xml;">
&lt;rich:modalPanel id=&quot;edit_dialog&quot;&gt;

   &lt;a4j:form id=&quot;edit_form&quot; ajaxSubmit=&quot;true&quot;&gt;

     &lt;h:outputLabel value=&quot;What's your title:&quot; for=&quot;title&quot;/&gt;
     &lt;h:inputText  id=&quot;title&quot; value=&quot;#{bean.title}&quot;/&gt;
     &lt;h:outputLabel value=&quot;What's your name:&quot; for=&quot;name&quot;/&gt;
     &lt;h:inputText  id=&quot;name&quot; value=&quot;#{bean.name}&quot;/&gt;

       ...

     &lt;a4j:commandButton id=&quot;save&quot;
          value=&quot;Save&quot;
          action=&quot;#{save}&quot;
          type=&quot;submit&quot;
          oncomplete=&quot;if(#{facesContext.maximumSeverity==null})Richfaces.hideModalPanel('edit_dialog')&quot;/&gt;

     &lt;a4j:commandButton id=&quot;reset&quot;
          value=&quot;Reset&quot;
          action=&quot;#{bean.reset}&quot;
          limitToList=&quot;true&quot;
          reRender=&quot;edit_form&quot;
          ajaxSingle=&quot;true&quot;
          type=&quot;reset&quot;/&gt;

     &lt;a4j:commandButton id=&quot;cancel&quot;
          value=&quot;Cancel&quot;
          action=&quot;#{bean.cancel}&quot;
          ajaxSingle=&quot;true&quot;
          oncomplete=&quot;Richfaces.hideModalPanel('edit_dialog')&quot;/&gt;

     &lt;rich:hotKey key=&quot;return&quot;
         selector=&quot;#edit_form&quot;
         handler=&quot;${rich:element('edit_form:save')}.click();event.stopPropagation();event.preventDefault(); return false;&quot;
         disableInInput=&quot;false&quot;/&gt;

      &lt;rich:hotKey key=&quot;esc&quot;
         selector=&quot;#edit_form&quot;
         handler=&quot;${rich:element('edit_form:cancel')}.click();event.stopPropagation();event.preventDefault(); return false;&quot;
         disableInInput=&quot;false&quot;/&gt;

   &lt;/a4j:form&gt;

&lt;/rich:modalPanel&gt;
</pre>
<p>It&#8217;s important to define <strong>ajaxSubmit=&#8221;true&#8221;</strong> for the form! This avoid &#8220;none ajax submit of html formulars&#8221;. I will explain this in a later blog <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>With <a href="http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/rich_hotKey.html" target="_blank">rich:hotKey</a> I bind 2 key events to the edit formular:</p>
<ul>
<li>on &#8216;enter&#8217; &#8211; the handler click the save button</li>
<li>on &#8216;esc&#8217; &#8211; the handler click the cancel button</li>
</ul>
<p>Try it <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ahoehma.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ahoehma.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ahoehma.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ahoehma.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ahoehma.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ahoehma.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ahoehma.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ahoehma.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ahoehma.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ahoehma.wordpress.com/479/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=479&subd=ahoehma&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ahoehma.wordpress.com/2009/11/16/richfaces-modal-panel-default-formular-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/438fe36eabd9440a47ba9463aa194ac1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ahoehma</media:title>
		</media:content>
	</item>
		<item>
		<title>Richfaces modal panel autofocus first input element</title>
		<link>http://ahoehma.wordpress.com/2009/11/16/richfaces-modal-panel-autofocus-first-input-element/</link>
		<comments>http://ahoehma.wordpress.com/2009/11/16/richfaces-modal-panel-autofocus-first-input-element/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 13:57:28 +0000</pubDate>
		<dc:creator>Andreas Höhmann</dc:creator>
				<category><![CDATA[Richfaces]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[focus]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[modal]]></category>
		<category><![CDATA[panel]]></category>
		<category><![CDATA[rich]]></category>

		<guid isPermaLink="false">http://ahoehma.wordpress.com/?p=468</guid>
		<description><![CDATA[With jQuery it&#8217;s easy to focus the first visible input element (textfield, textarea or selectbox) for a rich:modalPanel:

&#60;rich:modalPanel onshow=&#34;autofocus('dialog_content')&#34;&#62;
  &#60;h:panelGrid id=&#34;dialog_content&#34; columns=&#34;1&#34; width=&#34;100%&#34; cellpadding=&#34;0&#34; cellspacing=&#34;0&#34;&#62;
     &#60;a4j:form ajaxSubmit=&#34;true&#34;&#62;
       &#60;h:outputLabel value=&#34;What's your name:&#34; for=&#34;name&#34;/&#62;
       &#60;h:inputText  id=&#34;name&#34; value=&#34;#{bean.name}&#34;/&#62;
   [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=468&subd=ahoehma&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>With <a href="http://docs.jquery.com/Selectors" target="_blank">jQuery</a> it&#8217;s easy to focus the first visible input element (textfield, textarea or selectbox) for a <a href="http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/rich_modalPanel.html" target="_blank">rich:modalPanel</a>:</p>
<pre class="brush: xml;">
&lt;rich:modalPanel onshow=&quot;autofocus('dialog_content')&quot;&gt;
  &lt;h:panelGrid id=&quot;dialog_content&quot; columns=&quot;1&quot; width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;
     &lt;a4j:form ajaxSubmit=&quot;true&quot;&gt;
       &lt;h:outputLabel value=&quot;What's your name:&quot; for=&quot;name&quot;/&gt;
       &lt;h:inputText  id=&quot;name&quot; value=&quot;#{bean.name}&quot;/&gt;
       ...
       &lt;a4j:commandButton id=&quot;save&quot; value=&quot;Save my name&quot; action=&quot;save&quot;/&gt;
     &lt;/a4j:form&gt;
  &lt;/h:panelGrid&gt;
&lt;/rich:modalPanel&gt;
</pre>
<pre class="brush: jscript;">
function autofocus(containerId) {
  var element = jQuery(&quot;:input:not(:button):visible:enabled:first&quot;, '#'+containerId);
  if (element != null) {
    element.focus().select();
  }
}
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ahoehma.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ahoehma.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ahoehma.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ahoehma.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ahoehma.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ahoehma.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ahoehma.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ahoehma.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ahoehma.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ahoehma.wordpress.com/468/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=468&subd=ahoehma&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ahoehma.wordpress.com/2009/11/16/richfaces-modal-panel-autofocus-first-input-element/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/438fe36eabd9440a47ba9463aa194ac1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ahoehma</media:title>
		</media:content>
	</item>
		<item>
		<title>Build eclipse applications with maven 3</title>
		<link>http://ahoehma.wordpress.com/2009/11/13/build-eclipse-applications-with-maven-3/</link>
		<comments>http://ahoehma.wordpress.com/2009/11/13/build-eclipse-applications-with-maven-3/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 16:08:41 +0000</pubDate>
		<dc:creator>Andreas Höhmann</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[rcp]]></category>
		<category><![CDATA[tycho]]></category>

		<guid isPermaLink="false">http://ahoehma.wordpress.com/?p=460</guid>
		<description><![CDATA[The  tool chain for building eclipse based applications with maven becomes better and better.
Read here.
I know 2 projects using maven to build eclipse plugins:

m2eclipse
Eclipse Tigerstripe

Which project are there else?
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=460&subd=ahoehma&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The  tool chain for building eclipse based applications with maven becomes better and better.</p>
<p>Read <a href="http://www.sonatype.com/people/2009/11/maven-30-alpha-3-released/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+sonatype+%28Sonatype+Blogs%29&amp;utm_content=Google+International" target="_blank">here</a>.</p>
<p>I know 2 projects using maven to build eclipse plugins:</p>
<ul>
<li><a href="http://m2eclipse.sonatype.org/" target="_blank">m2eclipse</a></li>
<li><a href="http://www.eclipse.org/tigerstripe/" target="_blank">Eclipse Tigerstripe</a></li>
</ul>
<p>Which project are there else?</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ahoehma.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ahoehma.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ahoehma.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ahoehma.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ahoehma.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ahoehma.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ahoehma.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ahoehma.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ahoehma.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ahoehma.wordpress.com/460/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=460&subd=ahoehma&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ahoehma.wordpress.com/2009/11/13/build-eclipse-applications-with-maven-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/438fe36eabd9440a47ba9463aa194ac1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ahoehma</media:title>
		</media:content>
	</item>
		<item>
		<title>Disable backspace key in a Richfaces application</title>
		<link>http://ahoehma.wordpress.com/2009/11/06/disable-backspace-key-in-a-richfaces-application/</link>
		<comments>http://ahoehma.wordpress.com/2009/11/06/disable-backspace-key-in-a-richfaces-application/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 13:50:12 +0000</pubDate>
		<dc:creator>Andreas Höhmann</dc:creator>
				<category><![CDATA[JSF]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Richfaces]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[backspace]]></category>
		<category><![CDATA[disable]]></category>
		<category><![CDATA[hotkey]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://ahoehma.wordpress.com/?p=451</guid>
		<description><![CDATA[If you want disable the Backspace key in your JSF Richfaces application put this in your view:

&#60;rich:hotKey key=&#34;backspace&#34; handler=&#34;return false;&#34; disableInInput=&#34;true&#34;/&#62;

This will register a jQuery Hotkey handler for the document. The handler is not reqistered for input elements because in input fields you need the backspace  . Tested for FF3 and IE6.
Then I found [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=451&subd=ahoehma&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>If you want disable the Backspace key in your JSF Richfaces application put this in your view:</p>
<pre class="brush: xml;">
&lt;rich:hotKey key=&quot;backspace&quot; handler=&quot;return false;&quot; disableInInput=&quot;true&quot;/&gt;
</pre>
<p>This will register a <a href="http://code.google.com/p/js-hotkeys/wiki/about" target="_blank">jQuery Hotkey</a> handler for the document. The handler is not reqistered for input elements because in input fields you need the backspace <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . Tested for FF3 and IE6.</p>
<p>Then I found out that the following snippet doesn&#8217;t work:</p>
<pre class="brush: xml;">
&lt;rich:hotKey key=&quot;backspace&quot;
             disableInInput=&quot;true&quot;
             handler=&quot;alert('Backspace is disabled'); return false;&quot; /&gt;
</pre>
<p>The Browser open the alert box and go to the previous page (in background?!). But there is a fix for that:</p>
<pre class="brush: xml;">
&lt;rich:hotKey key=&quot;backspace&quot;
             disableInInput=&quot;true&quot;
             handler=&quot;alert('Backspace is disabled'); event.stopPropagation(); event.preventDefault(); return false;&quot; /&gt;
</pre>
<p>The <strong>event</strong> variable is available in the handler function (see org.richfaces.renderkit.html.HotKeyRenderer method doEncodeEnd).</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ahoehma.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ahoehma.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ahoehma.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ahoehma.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ahoehma.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ahoehma.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ahoehma.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ahoehma.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ahoehma.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ahoehma.wordpress.com/451/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=451&subd=ahoehma&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ahoehma.wordpress.com/2009/11/06/disable-backspace-key-in-a-richfaces-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/438fe36eabd9440a47ba9463aa194ac1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ahoehma</media:title>
		</media:content>
	</item>
		<item>
		<title>Toggle jrebel with a cygwin bash function and maven</title>
		<link>http://ahoehma.wordpress.com/2009/11/02/toogle-jrebel-with-a-cygwin-bash-function-and-maven/</link>
		<comments>http://ahoehma.wordpress.com/2009/11/02/toogle-jrebel-with-a-cygwin-bash-function-and-maven/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 13:57:16 +0000</pubDate>
		<dc:creator>Andreas Höhmann</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[java rebel]]></category>
		<category><![CDATA[jrebel]]></category>
		<category><![CDATA[Maven]]></category>

		<guid isPermaLink="false">http://ahoehma.wordpress.com/?p=428</guid>
		<description><![CDATA[I&#8217;m using java rebel for web development with maven.
Sometimes I would run jetty with jrebel sometimes without.
For that I&#8217;m using two simple bash functions:

# ~/.bashrc

#
# Maven options
#
export INTERNAL_MAVEN_OPTS=&#34;-Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m&#34;

#
# Java Rebel
#
export JAVA_REBEL=&#34;-Drebel.spring_plugin=true -Drebel.log=false -noverify -javaagent:D:\tools\javarebel\jrebel.jar -Drebel.packages=de.ahoehma&#34;

function jrebel_on() {
 export MAVEN_OPTS=&#34;$INTERNAL_MAVEN_OPTS $JAVA_REBEL&#34;
}

function jrebel_off() {
 export MAVEN_OPTS=&#34;$INTERNAL_MAVEN_OPTS&#34;
}

Now its very simple to enable

$ jrebel_on

or disable jrebel

$ jrebel_off

 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=428&subd=ahoehma&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;m using <a href="http://www.zeroturnaround.com/jrebel/" target="_blank">java rebel</a> for web development with maven.</p>
<p>Sometimes I would run jetty with jrebel sometimes without.</p>
<p>For that I&#8217;m using two simple bash functions:</p>
<pre class="brush: bash;">
# ~/.bashrc

#
# Maven options
#
export INTERNAL_MAVEN_OPTS=&quot;-Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m&quot;

#
# Java Rebel
#
export JAVA_REBEL=&quot;-Drebel.spring_plugin=true -Drebel.log=false -noverify -javaagent:D:\tools\javarebel\jrebel.jar -Drebel.packages=de.ahoehma&quot;

function jrebel_on() {
 export MAVEN_OPTS=&quot;$INTERNAL_MAVEN_OPTS $JAVA_REBEL&quot;
}

function jrebel_off() {
 export MAVEN_OPTS=&quot;$INTERNAL_MAVEN_OPTS&quot;
}
</pre>
<p>Now its very simple to enable</p>
<pre class="brush: bash;">
$ jrebel_on
</pre>
<p>or disable jrebel</p>
<pre class="brush: bash;">
$ jrebel_off
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ahoehma.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ahoehma.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ahoehma.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ahoehma.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ahoehma.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ahoehma.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ahoehma.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ahoehma.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ahoehma.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ahoehma.wordpress.com/428/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=428&subd=ahoehma&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ahoehma.wordpress.com/2009/11/02/toogle-jrebel-with-a-cygwin-bash-function-and-maven/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/438fe36eabd9440a47ba9463aa194ac1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ahoehma</media:title>
		</media:content>
	</item>
		<item>
		<title>Quality Center Mylyn Integration</title>
		<link>http://ahoehma.wordpress.com/2009/10/28/quality-center-mylyn-integration/</link>
		<comments>http://ahoehma.wordpress.com/2009/10/28/quality-center-mylyn-integration/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 07:54:59 +0000</pubDate>
		<dc:creator>Andreas Höhmann</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[com4j]]></category>
		<category><![CDATA[mylyn]]></category>
		<category><![CDATA[qc]]></category>
		<category><![CDATA[quality center]]></category>

		<guid isPermaLink="false">http://ahoehma.wordpress.com/?p=407</guid>
		<description><![CDATA[There is a interesting project at sourceforge called qcMylyn.  The projects aims to provide a Mylyn connector for Quality Center. Support Eclipse 3.4.2, 3.5, Mylyn 3.0.5+.
I tried the released version 0.2.4 but it didn&#8217;t work because at work we are using an older version of QualityCenter (9.1). But this was no big problem I have [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=407&subd=ahoehma&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>There is a interesting project at sourceforge called <a href="http://sourceforge.net/projects/qcmylyn/" target="_blank">qcMylyn</a>.  The projects aims to provide a Mylyn connector for Quality Center. Support Eclipse 3.4.2, 3.5, Mylyn 3.0.5+.</p>
<p>I tried the released version 0.2.4 but it didn&#8217;t work because at work we are using an older version of QualityCenter (9.1). But this was no big problem I have the sourcecode (OS rocks) and I&#8217;m a programmer <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I found out that a other project called <a href="http://sourceforge.net/projects/qctools4j/" target="_blank">QcTools4J </a>contains the java code for manipulation a QC system. They using a <a href="https://com4j.dev.java.net/" target="_blank">com4j</a> bridge to bind QC&#8217;s<em> otaclient.dll</em>.</p>
<p><strong>If you have trouble with a older/newer version of QC you have to update the qctools4j</strong>.</p>
<p>You find a short tutorial how to update qctools4j <a href="https://sourceforge.net/apps/phpbb/qcmylyn/viewtopic.php?f=1&amp;t=1#p11" target="_blank">here.</a> (read this first) &#8230; then you will come to the point where you want create a new otaclient.jar from you local otaclient.dll. Here is my simple solution for that.</p>
<p>I create my own otaclient maven project with the following pom:</p>
<pre class="brush: xml;">
&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
      xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&quot;&gt;
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
      &lt;groupId&gt;otaclient&lt;/groupId&gt;
      &lt;artifactId&gt;otaclient&lt;/artifactId&gt;
      &lt;version&gt;9.1.0.4372&lt;/version&gt;
      &lt;dependencies&gt;
        &lt;dependency&gt;
          &lt;groupId&gt;org.jvnet.com4j&lt;/groupId&gt;
          &lt;artifactId&gt;com4j&lt;/artifactId&gt;
          &lt;version&gt;20080107&lt;/version&gt;
        &lt;/dependency&gt;
      &lt;/dependencies&gt;
      &lt;build&gt;
        &lt;plugins&gt;
          &lt;plugin&gt;
            &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
            &lt;configuration&gt;
              &lt;source&gt;1.5&lt;/source&gt;
              &lt;target&gt;1.5&lt;/target&gt;
            &lt;/configuration&gt;
          &lt;/plugin&gt;
          &lt;plugin&gt;
            &lt;groupId&gt;org.jvnet.com4j&lt;/groupId&gt;
            &lt;artifactId&gt;maven-com4j-plugin&lt;/artifactId&gt;
            &lt;executions&gt;
              &lt;execution&gt;
                &lt;id&gt;gen-java-bridge&lt;/id&gt;
                &lt;goals&gt;
                  &lt;goal&gt;gen&lt;/goal&gt;
                &lt;/goals&gt;
                &lt;configuration&gt;
                  &lt;file&gt;src/qc/OTAClient.dll&lt;/file&gt;
                  &lt;package&gt;com.mercury.qualitycenter.otaclient&lt;/package&gt;
                &lt;/configuration&gt;
              &lt;/execution&gt;
            &lt;/executions&gt;
          &lt;/plugin&gt;
        &lt;/plugins&gt;
      &lt;/build&gt;
    &lt;/project&gt;
</pre>
<p>I using the maven-com4j-plugin to generate the java layer for otaclient.</p>
<p>All you have to do is to <strong>extract</strong> your &#8220;qc client package&#8221; (could be download from every qc server page) into <strong>src/qc</strong> and start <strong>mvn clean package</strong>.</p>
<p>Then target will contain a otaclient-9.1.0.4372.jar. Copy this jar into qctools4j/lib/com.mercury.qualitycenter.otaclient-9.2.jar and rebuild qctools4j. That&#8217;s all <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><img class="aligncenter size-full wp-image-418" title="qcmylyn_otaclient" src="http://ahoehma.files.wordpress.com/2009/10/qcmylyn_otaclient.png?w=384&#038;h=224" alt="qcmylyn_otaclient" width="384" height="224" /></p>
<p>Then copy the qctools4j.jar into org.tszadel.qctools and rebuild the whole eclipse feature.</p>
<p><img class="aligncenter size-full wp-image-415" title="qcmylyn_qctools4j" src="http://ahoehma.files.wordpress.com/2009/10/qcmylyn_qctools4j.png?w=317&#038;h=280" alt="qcmylyn_qctools4j" width="317" height="280" /></p>
<p>Try it <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ahoehma.wordpress.com/407/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ahoehma.wordpress.com/407/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ahoehma.wordpress.com/407/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ahoehma.wordpress.com/407/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ahoehma.wordpress.com/407/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ahoehma.wordpress.com/407/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ahoehma.wordpress.com/407/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ahoehma.wordpress.com/407/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ahoehma.wordpress.com/407/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ahoehma.wordpress.com/407/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=407&subd=ahoehma&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ahoehma.wordpress.com/2009/10/28/quality-center-mylyn-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/438fe36eabd9440a47ba9463aa194ac1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ahoehma</media:title>
		</media:content>

		<media:content url="http://ahoehma.files.wordpress.com/2009/10/qcmylyn_otaclient.png" medium="image">
			<media:title type="html">qcmylyn_otaclient</media:title>
		</media:content>

		<media:content url="http://ahoehma.files.wordpress.com/2009/10/qcmylyn_qctools4j.png" medium="image">
			<media:title type="html">qcmylyn_qctools4j</media:title>
		</media:content>
	</item>
		<item>
		<title>My favourite java ide is eclipse</title>
		<link>http://ahoehma.wordpress.com/2009/09/21/384/</link>
		<comments>http://ahoehma.wordpress.com/2009/09/21/384/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 18:27:59 +0000</pubDate>
		<dc:creator>Andreas Höhmann</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://ahoehma.wordpress.com/?p=384</guid>
		<description><![CDATA[

       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=384&subd=ahoehma&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br />
<a name="pd_a_2021112"></a><div class="PDS_Poll" id="PDI_container2021112" style="display:inline-block;"></div><script type="text/javascript" language="javascript" charset="utf-8" src="http://static.polldaddy.com/p/2021112.js"></script>
		<noscript>
		<a href="http://answers.polldaddy.com/poll/2021112/">View This Poll</a><br/><span style="font-size:10px;"><a href="http://www.polldaddy.com">polls</a></span>
		</noscript>

<p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ahoehma.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ahoehma.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ahoehma.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ahoehma.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ahoehma.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ahoehma.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ahoehma.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ahoehma.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ahoehma.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ahoehma.wordpress.com/384/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=384&subd=ahoehma&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ahoehma.wordpress.com/2009/09/21/384/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/438fe36eabd9440a47ba9463aa194ac1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ahoehma</media:title>
		</media:content>
	</item>
		<item>
		<title>Customized Richfaces Tree</title>
		<link>http://ahoehma.wordpress.com/2009/09/10/customized-richfaces-tree/</link>
		<comments>http://ahoehma.wordpress.com/2009/09/10/customized-richfaces-tree/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 11:42:02 +0000</pubDate>
		<dc:creator>Andreas Höhmann</dc:creator>
				<category><![CDATA[JSF]]></category>
		<category><![CDATA[Richfaces]]></category>
		<category><![CDATA[collapse]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[expand]]></category>
		<category><![CDATA[rich faces]]></category>
		<category><![CDATA[Tree]]></category>

		<guid isPermaLink="false">http://ahoehma.wordpress.com/?p=361</guid>
		<description><![CDATA[Yesterday I had to customize the Richfaces tree component, because my client wants a special layout. My solution is a little bit strange. I share it here for someone which is in the same situation   Here is the story &#8230;
Per default the rich:tree looks like a standard tree browser (i.e. explorer, eclipse, whatever):

But [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=361&subd=ahoehma&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Yesterday I had to customize the <strong>Richfaces</strong> tree component, because my client wants a special layout. My solution is a little bit strange. I share it here for someone which is in the same situation <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Here is the story &#8230;</p>
<p>Per default the rich:tree looks like a standard tree browser (i.e. explorer, eclipse, whatever):</p>
<p><img class="aligncenter size-full wp-image-364" title="rich_tree_standard" src="http://ahoehma.files.wordpress.com/2009/09/rich_tree_standard.png?w=173&#038;h=185" alt="rich_tree_standard" width="173" height="185" /></p>
<p>But I want this look:</p>
<p><img class="aligncenter size-full wp-image-363" title="rich_tree_customized" src="http://ahoehma.files.wordpress.com/2009/09/rich_tree_customized.png?w=141&#038;h=177" alt="rich_tree_customized" width="141" height="177" /></p>
<p>You see that the expand/collapse icon (<img class="alignnone size-full wp-image-365" title="rich_tree_expand" src="http://ahoehma.files.wordpress.com/2009/09/rich_tree_expand.png?w=16&#038;h=16" alt="rich_tree_expand" width="16" height="16" />) is on the same level with the node-icon (<img class="alignnone size-full wp-image-366" title="rich_tree_leaf" src="http://ahoehma.files.wordpress.com/2009/09/rich_tree_leaf.png?w=16&#038;h=16" alt="rich_tree_leaf" width="16" height="16" />). That&#8217;s very hard to fix this with CSS (it&#8217;s possible but i prefer my strange solution <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ). The <a href="http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/rich_tree.html" target="_blank">Richfaces documentation</a> describes which parts of a tree could be customize.</p>
<p><img class="aligncenter" src="http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/images/treeNode_cn.png" alt="" /></p>
<p>We have:</p>
<ul>
<li><em>rich-tree-node-handle</em> and <em>rich-tree-node-handleicon</em> &#8211; a td which contains a link and a image to expand/collapse the node (only possible for a node not a leaf)</li>
<li><em>rich-tree-node-icon</em> &#8211; is a td which contains the image for a node (a node with children)</li>
<li><em>rich-tree-node-icon-leaf</em> &#8211; is a td which contains the image for a leaf (a node without children)</li>
</ul>
<p>I decide to move the expand/collapse icon from the <span style="color:#ff0000;">handle-td</span> to the <span style="color:#0000ff;">icon-td</span> and &#8220;simulate&#8221; the user-click with Javascript:</p>
<p><img class="aligncenter size-full wp-image-371" title="rich_tree_expand_move" src="http://ahoehma.files.wordpress.com/2009/09/rich_tree_expand_move.png?w=165&#038;h=182" alt="rich_tree_expand_move" width="165" height="182" /></p>
<h4>Listing 1 tree.xhtml:</h4>
<pre class="brush: xml;">
&lt;rich:tree id=&quot;tree&quot;
              binding=&quot;#{treeBean.tree}&quot;
              var=&quot;item&quot;
              switchType=&quot;ajax&quot;
              ajaxSubmitSelection=&quot;true&quot;
              toggleOnClick=&quot;false&quot;
              showConnectingLines=&quot;false&quot;
              disableKeyboardNavigation=&quot;true&quot;&gt;

    &lt;f:facet name=&quot;iconCollapsed&quot;&gt;
       &lt;!-- no image for collapsed --&gt;
       &lt;rich:spacer width=&quot;0&quot;  height=&quot;0&quot; style=&quot;border: none;&quot;/&gt;
    &lt;/f:facet&gt;
    &lt;f:facet name=&quot;iconExpanded&quot;&gt;
       &lt;!-- no image for expanded --&gt;
       &lt;rich:spacer width=&quot;0&quot;  height=&quot;0&quot; style=&quot;border: none;&quot;/&gt;
    &lt;/f:facet&gt;

    &lt;f:facet name=&quot;icon&quot;&gt;
       &lt;!--  use normal node icon to toggle expand/collapse --&gt;
       &lt;h:panelGroup&gt;
          &lt;h:graphicImage value=&quot;#{item.isLeaf ? '/images/leaf.gif' : '/images/collapsed.gif'}&quot;
                                 onclick=&quot;myToggleTreeNode(this);&quot;
                                 rendered=&quot;#{!treeBean.isExpanded}&quot;/&gt;
          &lt;h:graphicImage value=&quot;#{item.isLeaf ? '/images/leaf.gif' : '/images/expanded.gif'}&quot;
                                 onclick=&quot;myToggleTreeNode(this);&quot;
                                 rendered=&quot;#{treeBean.isExpanded}&quot;/&gt;
       &lt;/h:panelGroup&gt;
    &lt;/f:facet&gt;

    &lt;f:facet name=&quot;iconLeaf&quot;&gt;
       &lt;h:graphicImage value=&quot;/images/leaf.gif&quot;/&gt;
    &lt;/f:facet&gt;

    &lt;rich:recursiveTreeNodesAdaptor roots=&quot;#{treeBean.roots}&quot; var=&quot;item&quot; nodes=&quot;#{item.children}&quot;&gt;
       &lt;rich:treeNode&gt;
          &lt;h:outputText value=&quot;#{item.name}&quot;/&gt;
       &lt;/rich:treeNode&gt;
    &lt;/rich:recursiveTreeNodesAdaptor&gt;
&lt;/rich:tree&gt;
</pre>
<h4>Listing 2 tree.js:</h4>
<pre class="brush: jscript;">
function myToggleTreeNode(element) {
  var elem = jQuery(element);
  // img -&gt; span -&gt; td
  var parent = elem.parent().parent();
  var elementId = parent.attr(&quot;id&quot;);
  // i.e. j_id31:tree:j__id39:18::j_id40:icon -&gt; the td arround the icon-image
  var index = elementId.lastIndexOf(&quot;:icon&quot;);
  var treeNodeId = elementId.substring(0, index);
  // i.e. j_id31:tree:j__id39:18::j_id40:handle -&gt; the td arround the original expand/collapse-image
  var handleId = treeNodeId+':handle';
  // pure jQuery not working here
  var expandElement = jQuery($(handleId));
  expandElement.trigger(&quot;click&quot;);
}
</pre>
<h4>Listing 3 tree.css:</h4>
<pre class="brush: css;">
.rich-tree-node-handleicon {
  display: none;
}
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ahoehma.wordpress.com/361/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ahoehma.wordpress.com/361/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ahoehma.wordpress.com/361/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ahoehma.wordpress.com/361/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ahoehma.wordpress.com/361/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ahoehma.wordpress.com/361/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ahoehma.wordpress.com/361/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ahoehma.wordpress.com/361/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ahoehma.wordpress.com/361/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ahoehma.wordpress.com/361/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ahoehma.wordpress.com&blog=1781916&post=361&subd=ahoehma&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ahoehma.wordpress.com/2009/09/10/customized-richfaces-tree/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/438fe36eabd9440a47ba9463aa194ac1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ahoehma</media:title>
		</media:content>

		<media:content url="http://ahoehma.files.wordpress.com/2009/09/rich_tree_standard.png" medium="image">
			<media:title type="html">rich_tree_standard</media:title>
		</media:content>

		<media:content url="http://ahoehma.files.wordpress.com/2009/09/rich_tree_customized.png" medium="image">
			<media:title type="html">rich_tree_customized</media:title>
		</media:content>

		<media:content url="http://ahoehma.files.wordpress.com/2009/09/rich_tree_expand.png" medium="image">
			<media:title type="html">rich_tree_expand</media:title>
		</media:content>

		<media:content url="http://ahoehma.files.wordpress.com/2009/09/rich_tree_leaf.png" medium="image">
			<media:title type="html">rich_tree_leaf</media:title>
		</media:content>

		<media:content url="http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/images/treeNode_cn.png" medium="image" />

		<media:content url="http://ahoehma.files.wordpress.com/2009/09/rich_tree_expand_move.png" medium="image">
			<media:title type="html">rich_tree_expand_move</media:title>
		</media:content>
	</item>
	</channel>
</rss>