<?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>Codecurl - David Black &#187; Eclipse</title>
	<atom:link href="http://codecurl.wordpress.com/category/eclipse/feed/" rel="self" type="application/rss+xml" />
	<link>http://codecurl.wordpress.com</link>
	<description>Software, architecture, tools and technology</description>
	<lastBuildDate>Wed, 22 May 2013 20:34:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='codecurl.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Codecurl - David Black &#187; Eclipse</title>
		<link>http://codecurl.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://codecurl.wordpress.com/osd.xml" title="Codecurl - David Black" />
	<atom:link rel='hub' href='http://codecurl.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Automated Eclipse GUI testing the quick and simple way</title>
		<link>http://codecurl.wordpress.com/2007/11/03/automated-eclipse-gui-testing-the-quick-and-simple-way/</link>
		<comments>http://codecurl.wordpress.com/2007/11/03/automated-eclipse-gui-testing-the-quick-and-simple-way/#comments</comments>
		<pubDate>Sat, 03 Nov 2007 13:18:40 +0000</pubDate>
		<dc:creator>codecurl</dc:creator>
				<category><![CDATA[CapeDeveloper]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://codecurl.wordpress.com/2007/11/03/automated-eclipse-gui-testing-the-quick-and-simple-way/</guid>
		<description><![CDATA[We&#8217;re very test driven here at Cape Clear, we develop automated tests for everything we do. We&#8217;re not strict about writing our tests first, I for one write my tests with my code, iterating between one and the other in the course of realising a story (we follow Scrum, a lightweight wrapper process on agile/XP). [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=127&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>We&#8217;re very test driven here at Cape Clear, we develop automated tests for everything we do. We&#8217;re not strict about writing our tests first, I for one write my tests with my code, iterating between one and the other in the course of realising a story (we follow Scrum, a lightweight wrapper process on agile/XP). I wouldn&#8217;t dream of writing code without some level of automated test coverage, to me it is meaningless &#8211; how do I know the feature code works if I don&#8217;t have something that proves it works now, and as I refactor the code base through iterations of the product? Writing tests makes me many orders of magnitude more productive as a developer. I still hear the &#8220;lack of time and resources to write automated tests&#8221; excuse from developers I know in other companies. Sometimes I argue with them, sometimes I just smile benignly: you don&#8217;t need more resources or time to write tests, <em>writing tests gives you more resources and time</em>, and of course results in far superior quality software. But the fly in the ointment for us has been automating the GUI testing of our Eclipse-based tools. We have extensive junit tests for the non-GUI parts of the tools, like our (WTP) facet install delegates, our builders, our models etc. Eighteen months ago we chose Eclipse TPTP, the GUI recorder and playback toolkit, to automate our GUI tests. Maybe others have had more success with TPTP than we have, but our experience was less than satisfactory. In the end we only achieved a tiny amount of coverage with it, and it is difficult to keep these kinds of tests passing and running continuously across multiple branches of the product. In general GUI recorder/playback tests are very brittle to even minor changes in the user interaction. Several things happened recently that made me realise we could and should drop that approach. We started to push our (PDE) junit tests up into the UI, specifically in relation to testing our GMF-based SOA Assembly Editor. We wrote tests that did things like clicking on all the tools in the palette and checking that the edit parts and model elements were created correctly. PDE junit tests run in the UI thread. It struck me that we already had 99% of what we needed to automate our GUI tests from junit. What we did not have was:</p>
<ul>
<li>a test framework, test APIs, which read like a GUI test specification</li>
<li>the ability to automate the testing of blocking UI elements, namely wizards and dialogs</li>
</ul>
<p>The first was easy, I took a couple of our WSDL-to-Java project wizard GUI test cases and prototyped the kind of APIs I wanted, they read just like we write our test specs. Then I implemented the APIs, most of which were very thin (but more test friendly) facades on existing APIs and existing test code. That left me with the wizards and dialog problem. When you launch an SWT wizard or dialog from a PDE junit test, it blocks because its waiting on input from the SWT event queue. The blocking happens in the <code>open()</code> method of <code>org.eclipse.jface.window.Window</code>, from which <code>WizardDialog</code> is derived. In an automated test, we want the input to come from the junit test code, not from the SWT event queue. Fortunatly, <code>open()</code> is public. I will resist going off on a tangent here about one of my pet gripes: the excessive marking of methods as private and classes as final etc. &#8211; let me decide how I want to specialise your code, you cannot see all ends and mostly I know what I&#8217;m doing. Anyway, back on topic, so now we have our own <code>CcWizardDialog</code> (which extends <code>WizardDialog</code>), and the code looks like this:</p>
<pre>
public int open() {
  if (this.cctest == null) {
    return super.open();
  }
  else {
    return doTestOpen();
  }
}
protected int doTestOpen() {
  Shell shell = getShell();
  if (shell == null || shell.isDisposed()) {
    shell = null;
    create();
  }
  shell = getShell();
  constrainShellSize();
  shell.open();
  ICcWizard ccWizard = new CcWizardImpl(getWizard(), this);
  cctest.testWizard(ccWizard);
  return getReturnCode();
}</pre>
<p>The <code>cctest</code> member is an object that implements a simple callback interface, typically its the junit test itself. There is no difference in adding these kinds of test hooks to code and doing test-driven development. <em>We write our code to be testable by code</em>. Remember that we&#8217;re not trying to test SWT or core Eclipse platform components, we know they are well covered, stable, mature &#8211; basically: <em>we know they work</em>. And of course we do manually test and use our tools too. The <code>ICcWizard</code> interface looks like this:</p>
<pre>
public interface ICcWizard {
  ICcWizardPage getCurrentPage();
  ICcWizardPage next();
  ICcWizardPage back();
  void finish();
  void cancel();
  IWizard getWizard();
  boolean isNextEnabled();
  boolean isFinishEnabled();
}</pre>
<p>And (an abbreviated) <code>ICcWizardPage</code> interface looks like this:</p>
<pre>
public interface ICcWizardPage {
  void setTextValue(...);
  void selectComboValue(...);
  void setCheckBox(...);
  void setRadioButton(...);
  ...
}</pre>
<p>Now you can start to see how the junit test reads, just like you&#8217;d write a GUI test spec: launch the wizard, set a value in a text box, select a value in a combobox, go to the next page in the wizard, select a radio button, press finish. After which the call stack unwinds back to the junit test, which can then use project APIs to verify the results. I&#8217;ve been deliberately vague about <code>ICcWizardPage</code>. How that works is also quite interesting, and very simple. I will detail this and more in another posting. What I really like about the whole approach is that the tests are quick to write and simple to maintain.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/codecurl.wordpress.com/127/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/codecurl.wordpress.com/127/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codecurl.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codecurl.wordpress.com/127/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=127&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codecurl.wordpress.com/2007/11/03/automated-eclipse-gui-testing-the-quick-and-simple-way/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/9012ef38e1fb5c2c73c501099c4d9f32?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">codecurl</media:title>
		</media:content>
	</item>
		<item>
		<title>Impressed by GMF, but a hefty dose of patience is required</title>
		<link>http://codecurl.wordpress.com/2007/08/22/impressed-by-gmf-but-a-hefty-dose-of-patience-is-required/</link>
		<comments>http://codecurl.wordpress.com/2007/08/22/impressed-by-gmf-but-a-hefty-dose-of-patience-is-required/#comments</comments>
		<pubDate>Wed, 22 Aug 2007 12:55:21 +0000</pubDate>
		<dc:creator>codecurl</dc:creator>
				<category><![CDATA[CapeDeveloper]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://codecurl.wordpress.com/2007/08/22/impressed-by-gmf-but-a-hefty-dose-of-patience-is-required/</guid>
		<description><![CDATA[Over the last couple of months we&#8217;ve been developing (should I say &#8220;modeling&#8221;?) a GMF-based graphical editor to support the new assembly and multi-channel, multi-tenant mediation features of Cape Clear 7.5. Actually, I&#8217;ve had pretty much no hands on involvement with it myself, a colleague of mine championed its use and has become quite expert [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=123&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Over the last couple of months we&#8217;ve been developing (should I say &#8220;modeling&#8221;?) a <a href="http://www.eclipse.org/gmf/">GMF</a>-based graphical editor to support the new assembly and multi-channel, multi-tenant mediation features of <a href="http://www.capeclear.com/products/capeclear75/index.shtml">Cape Clear 7.5</a>. Actually, I&#8217;ve had pretty much no hands on involvement with it myself, a colleague of mine championed its use and has become quite expert with it, but I thought I&#8217;d pass on some of <em>our</em> experience. We are using GMF 1.0.3 as we are shipping with Eclipse 3.2.2 (we plan to move to 3.3 later in the year). The promise of GMF is rapidly rolled graphical editors with lots of eye candy and neat features for free, achieved with near zero code, or at least approaching zero when compared with GEF-coded editors. Our BPEL editor is GEF-coded, so we have something very substantial to compare our Assembly Editor with. Generally, I am very impressed by GMF, but much patience is required to get the best out of it. See pretty picture (a high-res version is viewable <a href="http://www.codecurl.org/images/assembly1_big.jpg">here</a>).</p>
<p><a href="http://www.codecurl.org/images/assembly1_big.jpg"><img src="http://www.codecurl.org/images/assembly1.jpg" alt="GMF coded editor" height="286" width="400" /></a></p>
<p>Our core model is described in XML Schema and we generate our EMF model from that. A few points then:</p>
<ul>
<li><a href="http://eclipsezilla.eclipsecon.org/php/attachment.php?bugid=3739">This</a> is an excellent getting started presentation.</li>
<li>It can seem like there is a huge gap between an initially generated editor (based on your model/schema) and where you know it needs to be. There may well be, but it is not necessarily a code-gap. The temptation is to jump in and start extending and modifying generated code, patience is required to do the right thing. Doing the right thing means trawling through examples and forums, posting questions to newsgroups and waiting on answers.</li>
<li>Go back to your source schema, modify and constrain it appropriately to help get the end feature the way you want in the generated editor.</li>
<li>If you have a schema that contains a lot of similar things, start with a subset of the schema which contains just one example of all the distinct elements, and get a working editor for that. Then add back in the other stuff &#8211; which is hopefully just repetition. In other words, reduce the problem space to something manageable to start with.</li>
<li>Make one model change then re-generate. The error reporting in the generation process is not very clear and diagnosing one cause and effect at once is by far the easiest way to work. Read all the error information reported and watch for compilation errors in the generated code too.</li>
<li>Make small changes to the model, regenerate and test them. When you are happy, commit those distinct changes to source control. Move on to the next task.</li>
<li>Keep step-by-step instructions for regenerating your EMF and GMF models when your schema changes, there will probably be a few manual fix-ups required (e.g. GMF 1.x doesn&#8217;t merge plugin.xml changes &#8211; 2.0 does apparently)</li>
</ul>
<p>GMF has made it possible for us to have a great graphical editor for our Assemblies in a timeframe we would not have been able to GEF-code one in &#8211; or at least, nothing this polished and (almost) ready to ship! Hats off to the folks behind it.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/codecurl.wordpress.com/123/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/codecurl.wordpress.com/123/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codecurl.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codecurl.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=123&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codecurl.wordpress.com/2007/08/22/impressed-by-gmf-but-a-hefty-dose-of-patience-is-required/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/9012ef38e1fb5c2c73c501099c4d9f32?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">codecurl</media:title>
		</media:content>

		<media:content url="http://www.codecurl.org/images/assembly1.jpg" medium="image">
			<media:title type="html">GMF coded editor</media:title>
		</media:content>
	</item>
		<item>
		<title>More facets please</title>
		<link>http://codecurl.wordpress.com/2007/08/10/more-facets-please/</link>
		<comments>http://codecurl.wordpress.com/2007/08/10/more-facets-please/#comments</comments>
		<pubDate>Fri, 10 Aug 2007 08:20:30 +0000</pubDate>
		<dc:creator>codecurl</dc:creator>
				<category><![CDATA[Cape Clear]]></category>
		<category><![CDATA[CapeDeveloper]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://codecurl.wordpress.com/2007/08/10/more-facets-please/</guid>
		<description><![CDATA[I&#8217;m pleased to see that the plan for WTP 3.0 includes the intention to make the Faceted Project Framework more generally available to Eclipse projects and adopters. I may not be so pleased when I figure out the work we&#8217;re going to have to do here at Cape Clear to migrate to this, but hopefully [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=121&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m pleased to see that the plan for WTP 3.0 includes the intention to make the <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=160245">Faceted Project Framework more generally available</a> to Eclipse projects and adopters. I may not be so pleased when I figure out the work we&#8217;re going to have to do here at Cape Clear to migrate to this, but hopefully it won&#8217;t be too painful! Our Web service projects are built on WTP and facets, and while not perfect, broadly speaking adopting the framework has been very positive and successful for us. For example, in Cape Clear 7.5 we&#8217;ve added a new Assembly Facet which allows our existing BPEL-based and Java-based web services to take on new behaviour, namely <a href="http://developer.capeclear.com/?q=75Overview">multi-channel, multi-tennant mediations</a>. The facet framework made this really easy. I think I did the basic facet definitions, constraints, data model and install delegate in a few days, and <em>voila!</em> I was then able to add this facet to web service projects created with Cape Clear (Studio) 7. If the work to common-ise the Faceted Project Framework is completed successfully, hopefully we&#8217;ll see more adoption amongst Eclipse top level projects, there is one in particular I have in mind that could really benefit, but I won&#8217;t mention any names <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/codecurl.wordpress.com/121/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/codecurl.wordpress.com/121/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codecurl.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codecurl.wordpress.com/121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=121&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codecurl.wordpress.com/2007/08/10/more-facets-please/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/9012ef38e1fb5c2c73c501099c4d9f32?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">codecurl</media:title>
		</media:content>
	</item>
		<item>
		<title>Michael Cote on Eclipse Europa</title>
		<link>http://codecurl.wordpress.com/2007/07/05/michael-cote-on-eclipse-europa/</link>
		<comments>http://codecurl.wordpress.com/2007/07/05/michael-cote-on-eclipse-europa/#comments</comments>
		<pubDate>Thu, 05 Jul 2007 12:39:00 +0000</pubDate>
		<dc:creator>codecurl</dc:creator>
				<category><![CDATA[Cape Clear]]></category>
		<category><![CDATA[CapeDeveloper]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[OSGi]]></category>

		<guid isPermaLink="false">http://codecurl.wordpress.com/2007/07/05/michael-cote-on-eclipse-europa/</guid>
		<description><![CDATA[Michael Cote over at Redmonk has quite a good article on the Eclipse Europa release. Interesting in the light of my previous post that he talks about Eclipse developers starting to become a fully fledged category like Java developers and Microsoft developers. However, he does get some things very wrong, like describing Borland/Codegear as one [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=117&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Michael Cote over at <a href="http://www.redmonk.com/">Redmonk</a> has quite a good article on the Eclipse Europa release. Interesting in the light of my <a href="http://codecurl.wordpress.com/2007/07/03/is-eclipse-plugin-development-experience-a-specialist-skill/">previous post</a> that he talks about <em>Eclipse developers</em> starting to become a fully fledged category like Java developers and Microsoft developers. However, he does get some things very wrong, like describing Borland/Codegear as one of &#8220;the first to dive into the Eclipse platform&#8221;. They were so not one of the first, and they are now playing catch up. In contrast, Cape Clear was an early adopter, and the maturity of our tools reflects our considered and considerable investment in building on Eclipse. He mentions the ongoing battle between JSR 277 and OSGi, which Eclipse provides excellent tools for, being built on an OSGi core.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/codecurl.wordpress.com/117/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/codecurl.wordpress.com/117/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codecurl.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codecurl.wordpress.com/117/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=117&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codecurl.wordpress.com/2007/07/05/michael-cote-on-eclipse-europa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/9012ef38e1fb5c2c73c501099c4d9f32?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">codecurl</media:title>
		</media:content>
	</item>
		<item>
		<title>Is Eclipse plugin development experience a specialist skill?</title>
		<link>http://codecurl.wordpress.com/2007/07/03/is-eclipse-plugin-development-experience-a-specialist-skill/</link>
		<comments>http://codecurl.wordpress.com/2007/07/03/is-eclipse-plugin-development-experience-a-specialist-skill/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 08:25:42 +0000</pubDate>
		<dc:creator>codecurl</dc:creator>
				<category><![CDATA[Cape Clear]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://codecurl.wordpress.com/2007/07/03/is-eclipse-plugin-development-experience-a-specialist-skill/</guid>
		<description><![CDATA[Is Eclipse plugin development experience a specialist skill? I&#8217;ve been asking myself this question recently, as here at Cape Clear Software we are recruiting for a senior engineering position on the Eclipse-based (Jolt award winning) Cape Clear Studio team (based in Dublin, Ireland, if you&#8217;re interested). I first started learning Eclipse plugin development about four [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=116&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Is Eclipse plugin development experience a specialist skill? I&#8217;ve been asking myself this question recently, as here at <a href="http://www.capeclear.com/">Cape Clear Software</a> we are recruiting for a <a href="http://codecurl.wordpress.com/2007/07/02/eclipse-tools-plugin-developer-senior-role-cape-clear-software-dublin-ireland/">senior engineering position</a> on the Eclipse-based (<a href="http://www.capeclear.com/news/archives/2007/04/cape_clear_soft_31.shtml">Jolt award winning</a>) Cape Clear Studio team (based in Dublin, Ireland, if you&#8217;re interested). I first started learning Eclipse plugin development about four years ago, having been an Eclipse (Java) IDE user for some time before that. I made a deliberate decision to add this development feather to my cap, as I had always been interested in tool development and I saw Eclipse becoming <em>the dominant platform for this</em>. Coupled with that it is one of the most interesting and challenging development environments I&#8217;ve worked in. Four years ago there was very little in the way of documentation, articles or books on the platform, so the learning curve was quite steep. Today, things are considerably better, although part of the challenge is the requirement to understand a broad spectrum of APIs &#8211; frequently by stepping through their code in the debugger. And that is also part of the <em>pleasure</em> of working with the SDK, that you can step through the code! I think experience in Eclipse plugin development is particularly worthwhile to have. If you are a Java developer, probably already quite comfortable with JavaEE technologies, maybe you&#8217;ve done some rich-client work with Swing &#8211; IMO, Eclipse is a really super platform on which to broaden and deepen your development skills. Think of it this way, Eclipse is to enterprise tools, as Java, JavaEE and the myriad of Java-based technologies and open source components are to enterprise software in general. When I was in college I always wanted to work on development tools &#8211; I just loved Borlands Turbo Pascal and Turbo C products &#8211; but the opportunities were pretty much non-existent outside of certain geographical areas. Eclipse has changed that. Now &#8211; fifteen years later &#8211; I have that job.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/codecurl.wordpress.com/116/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/codecurl.wordpress.com/116/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codecurl.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codecurl.wordpress.com/116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=116&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codecurl.wordpress.com/2007/07/03/is-eclipse-plugin-development-experience-a-specialist-skill/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/9012ef38e1fb5c2c73c501099c4d9f32?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">codecurl</media:title>
		</media:content>
	</item>
		<item>
		<title>Sounds like CodeGrabbit</title>
		<link>http://codecurl.wordpress.com/2007/06/08/sounds-like-codegrabbit/</link>
		<comments>http://codecurl.wordpress.com/2007/06/08/sounds-like-codegrabbit/#comments</comments>
		<pubDate>Fri, 08 Jun 2007 16:29:59 +0000</pubDate>
		<dc:creator>codecurl</dc:creator>
				<category><![CDATA[CapeDeveloper]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://codecurl.wordpress.com/2007/06/08/sounds-like-codegrabbit/</guid>
		<description><![CDATA[This NetBeans thing sounds very like my CodeGrabbit idea, but just not as slick. I don&#8217;t think much of JWS launching stuff to import a project into my IDE. Sounds like there is a killer app here for (Eclipse) developers waiting to be realized. Sigh, if only I had the time&#8230;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=113&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>This <a href="http://www.eclipsezone.com/eclipse/forums/t96633.rhtml">NetBeans thing</a> sounds very like my <a href="http://codecurl.wordpress.com/2006/06/11/codegrabbit-plugin/">CodeGrabbit</a> idea, but just not as slick. I don&#8217;t think much of JWS launching stuff to import a project into my IDE. Sounds like there is a killer app here for (Eclipse) developers waiting to be realized. Sigh, if only I had the time&#8230;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/codecurl.wordpress.com/113/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/codecurl.wordpress.com/113/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codecurl.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codecurl.wordpress.com/113/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=113&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codecurl.wordpress.com/2007/06/08/sounds-like-codegrabbit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/9012ef38e1fb5c2c73c501099c4d9f32?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">codecurl</media:title>
		</media:content>
	</item>
		<item>
		<title>Cult of Me: Dr. Dobbs Developer Diaries</title>
		<link>http://codecurl.wordpress.com/2007/02/20/cult-of-me-dr-dobbs-developer-diaries/</link>
		<comments>http://codecurl.wordpress.com/2007/02/20/cult-of-me-dr-dobbs-developer-diaries/#comments</comments>
		<pubDate>Tue, 20 Feb 2007 17:17:03 +0000</pubDate>
		<dc:creator>codecurl</dc:creator>
				<category><![CDATA[Cape Clear]]></category>
		<category><![CDATA[CapeDeveloper]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Groovy]]></category>

		<guid isPermaLink="false">http://codecurl.wordpress.com/2007/02/20/cult-of-me-dr-dobbs-developer-diaries/</guid>
		<description><![CDATA[I&#8217;m featured in this months Dr. Dobbs Journal Developer Diaries. Ah, Fortune and Glory at last. Well, with a small &#8216;f&#8217; and &#8216;g&#8217; then. Actually, they cut most of what I said, so note to self: blog the whole interview.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=83&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m <a href="http://www.ddj.com/dept/architect/197003377">featured</a> in this months Dr. Dobbs Journal Developer Diaries. Ah, Fortune and Glory at last. Well, with a small &#8216;f&#8217; and &#8216;g&#8217; then. Actually, they cut most of what I said, so note to self: blog the whole interview.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/codecurl.wordpress.com/83/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/codecurl.wordpress.com/83/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codecurl.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codecurl.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=83&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codecurl.wordpress.com/2007/02/20/cult-of-me-dr-dobbs-developer-diaries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/9012ef38e1fb5c2c73c501099c4d9f32?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">codecurl</media:title>
		</media:content>
	</item>
		<item>
		<title>m2eclipse looks good</title>
		<link>http://codecurl.wordpress.com/2007/01/23/m2eclipse-looks-good/</link>
		<comments>http://codecurl.wordpress.com/2007/01/23/m2eclipse-looks-good/#comments</comments>
		<pubDate>Tue, 23 Jan 2007 10:45:23 +0000</pubDate>
		<dc:creator>codecurl</dc:creator>
				<category><![CDATA[Build Systems]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://codecurl.wordpress.com/2007/01/23/m2eclipse-looks-good/</guid>
		<description><![CDATA[I know I&#8217;ve come across various Eclipse plugins that work with maven artifacts like the Project Object Model (pom.xml), but m2eclipse is the first I&#8217;ve seen that really attempts to integrate the two project environments. m2eclipse at Codehaus is just getting going, being at a 0.0.10 release, but it looks very promising. Check out the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=75&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I know I&#8217;ve come across various Eclipse plugins that work with maven artifacts like the Project Object Model (pom.xml), but m2eclipse is the first I&#8217;ve seen that really attempts to integrate the two project environments. <a href="http://m2eclipse.codehaus.org/">m2eclipse</a> at <a href="http://www.codehaus.org/">Codehaus</a> is just getting going, being at a <a href="http://jroller.com/page/eu?entry=the_maven_integration_for_eclipse">0.0.10 release</a>, but it looks very promising. Check out the <a href="http://m2eclipse.codehaus.org/Maven_2.0_Plugin_for_Eclipse.html">flash demo</a>, the debug integration is really cool. I&#8217;m definitely going to give this plugin a whirl shortly as I&#8217;m planning a couple of new projects where I&#8217;ll be using maven2 in anger (I&#8217;ve been a maven 1.x baby for a while, but I think its time to grow up!).</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/codecurl.wordpress.com/75/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/codecurl.wordpress.com/75/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codecurl.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codecurl.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=75&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codecurl.wordpress.com/2007/01/23/m2eclipse-looks-good/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/9012ef38e1fb5c2c73c501099c4d9f32?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">codecurl</media:title>
		</media:content>
	</item>
		<item>
		<title>OSGi everywhere</title>
		<link>http://codecurl.wordpress.com/2007/01/15/osgi-everywhere/</link>
		<comments>http://codecurl.wordpress.com/2007/01/15/osgi-everywhere/#comments</comments>
		<pubDate>Mon, 15 Jan 2007 10:39:27 +0000</pubDate>
		<dc:creator>codecurl</dc:creator>
				<category><![CDATA[Design & Code]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[OSGi]]></category>

		<guid isPermaLink="false">http://codecurl.wordpress.com/2007/01/15/osgi-everywhere/</guid>
		<description><![CDATA[There was a lot of buzz in 2006 around OSGi and it looks like 2007 will be the OSGi-everywhere year. One of the more interesting posts I&#8217;ve come across is this one, a reference to a talk about the Newton open source project and dynamic service grids in the enterprise and OSGi as a basis [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=71&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>There was a lot of buzz in 2006 around OSGi and it looks like 2007 will be the OSGi-everywhere year. One of the more interesting posts I&#8217;ve come across is <a href="http://www.eclipsezone.com/eclipse/forums/t87966.rhtml">this one</a>, a reference to a talk about the Newton open source project and dynamic service grids in the enterprise and OSGi as a basis for SOA. I&#8217;m hoping to try some of this out for large-scale (and large scaling) distributed systems shortly. More on that in due course.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/codecurl.wordpress.com/71/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/codecurl.wordpress.com/71/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codecurl.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codecurl.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=71&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codecurl.wordpress.com/2007/01/15/osgi-everywhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/9012ef38e1fb5c2c73c501099c4d9f32?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">codecurl</media:title>
		</media:content>
	</item>
		<item>
		<title>Integrating and Extending BIRT</title>
		<link>http://codecurl.wordpress.com/2007/01/15/integrating-and-extending-birt/</link>
		<comments>http://codecurl.wordpress.com/2007/01/15/integrating-and-extending-birt/#comments</comments>
		<pubDate>Mon, 15 Jan 2007 10:38:34 +0000</pubDate>
		<dc:creator>codecurl</dc:creator>
				<category><![CDATA[BAM]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://codecurl.wordpress.com/2007/01/15/integrating-and-extending-birt/</guid>
		<description><![CDATA[I reviewed a book proposal recently for the publishers Addison Wesley, and in return I got a free copy of Integrating and Extending BIRT. I&#8217;m keen to understand what this Eclipse project has to offer from a tool development perspective. Trying to find the time to read it is the challenge.&#60;br&#62;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=70&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I reviewed a book proposal recently for the publishers Addison Wesley, and in return I got a free copy of Integrating and Extending BIRT. I&#8217;m keen to understand what this Eclipse project has to offer from a tool development perspective. Trying to find the time to read it is the challenge.&lt;br&gt;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/codecurl.wordpress.com/70/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/codecurl.wordpress.com/70/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/codecurl.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/codecurl.wordpress.com/70/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=codecurl.wordpress.com&#038;blog=412850&#038;post=70&#038;subd=codecurl&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://codecurl.wordpress.com/2007/01/15/integrating-and-extending-birt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/9012ef38e1fb5c2c73c501099c4d9f32?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">codecurl</media:title>
		</media:content>
	</item>
	</channel>
</rss>
