Oct 21

I just discovered TextUML, an Eclipse extension that enables you to define UML models textually. It started out as a free but closed source project and was open sourced eventually.

The core of this tool is the editor for the textual UML representation that provides many features that developers are used to (syntax highlighting, validation, outline view etc.). Additionally, Graphviz can be integrated to create diagrams from the textual models.

There are detailed instructions for the installation of TextUML and the Graphviz integration and a tutorial to get started with textual modeling.

A huge advantage of textual over graphical notations is in my opinion the possibility to create diffs which means you can easily put those textual models under version control and profit from Eclipse’s compare mechanism. This enables teams of developers to share a common model and to edit it concurrently like any other piece of source code.

According to Rafael Chaves’ (the author of the project) comment on the previously linked article,

[...] the final goal is at some point to submit a proposal to Eclipse.org [...]

I hope that this goal will be reached, because TextUML is a very interesting and promising project. Claiming

  • increased modeling productivity
  • live graphical visualization of your class diagrams

as two of the key benefits of using TextUML, the goal should not be too far away. Productivity is always welcome and the graphical visualization may be one of the key arguments for your manager ;)

Seriously, even if it’s not the core feature of TextUML, a simple and efficient way to create class diagrams quickly would be a great win for any technical documentation or idea sketching as well.

Oct 15

This is not supposed to be a flame war. It’s just an attempt to bring a little more diversity to the already interesting and very well implemented Stack Overflow.

I have been a member since the beginning of August and was lucky enough to join the private beta. Currently, the site is in public beta status and there have been a lot of interesting questions already.

In my opinion, questions concerning the Microsoft stack still dominate the site. Many have attributed this to the fact that Jeff’s and Joel’s readers are coming from this background. However, the goal of the site was to have resources for any kind of programming language/environment that may exist.

In order to support the achievement of that goal, this is a call to all programmers out there, no matter how weird the language they (must) use:

Join the Stack Overflow and share your rare knowledge!

Or just try to find some answers where Google can’t look (yet?): In the brains of some fellow programmers ;)

Jul 11

Today, I had a strange problem with Eclipse. I have an EJB project with JBoss v4.2 selected in targeted runtimes (project properties) and as such the JBoss v4.2 server runtime classpath variable. I have really no idea what happened, but the effect was that the JBoss classpath entry didn’t show up any longer. My first thought was that maybe the .classpath file got mixed up, but it still contained the required entry. The project properties also contained all the correct information. Just the package explorer didn’t show the entry and it definitely wasn’t there as the build for the project failed because the required classes could not be found.

The <workspace>/.metadata/.log file contained the following error message many times:

!ENTRY org.eclipse.jst.server.core 4 0 2008-07-11 16:24:46.251
!MESSAGE Error calling delegate RuntimeClasspathProviderWrapper[org.eclipse.jst.server.generic.runtimeTarget]: null

So this must have been a bug in resolving the server classpath. I couldn’t find an equivalent problem description, and after playing around with the project settings, adding and removing the library manually, which didn’t help any further, I tried updating the Java Standard Tools. There was indeed a patch available. My previous version of JST was org.eclipse.jst_2.0.2.v200802150100-7B-7_8dDTOvmuz0di_U5vgUfz0em and I installed the patch org.eclipse.jst.web_core.feature.patch_2.0.2.v200803241913-208i8s733I395D6BA7. My Eclipse SDK version used is 3.3.2, Build id M20080221-1800.

After the installation of the patch and a restart of Eclipse, the JBoss v4.2 entry showed up again and the error message didn’t occur any longer in the log file. As I said, I don’t really know what had happened, but the patch might have resolved the issue for me, so maybe this helps someone out there, who runs into the same problem.

Jul 10

Eclipse is a great IDE for developing any kind of Java code, e.g. Rich Client (RCP), Web or standalone applications. However, when a project is built using any IDE (yes, there are others - e.g. Netbeans or IntelliJ IDEA), there may be some dependencies towards the chosen tool when it comes to compiling and packaging the code. This doesn’t matter too much as long as there is no requirement to automate the build process. This will happen, as soon as you decide to set up Continuous Integration for your project.

Continue reading »

Apr 25

This just made my day:

When you’re in Eclipse (IDE), press Ctrl+3, then enter the name of a view, editor, preference, command, menu etc. or previously opened resource (e.g. a Java class), select the desired match from the list and voilà - Eclipse navigates you there. You can also enter the initials of the words you are looking for, e.g. “pe” for “Package Explorer”. That’s really a cool feature and available since Eclipse 3.3. It brings kind of a “spotlight feeling” to your development work ;)

Good bye, “Show View” and “Open Perspective” ;)

Apr 21

For some impressions of the JAX conference 2008, check out my Picasa Web Album JAX 2008.

Apr 20

We are going to leave Bayreuth in about two hours. Tomorrow will be the first day of this year’s JAX conference. While the main conference starts on Tuesday, there will already be several so-called “Special Days” on Monday. We are going to attend the Agile Day. Here a little overview of the topics:

  • Comparison of several agile methods (eXtreme Programming, Scrum, Crystal and Feature Driven Development)
  • A guide to becoming agile
  • Collaboration in Java Projects (IBM Rational’s Jazz)
  • Scrum roles and their meaning for agile teams
  • Field report of a Product Owner
  • Agile project management with contracts for services

I think it is a good start to see the different methods at the beginning of the day to have a better understanding for the following more specialized topics. I hope to get a very good insight into agile methods and agile project management as everybody is talking about it and there are often also very controversial interpretations of what agile really is. Of course, there are and must be always different opinions about such things. After all, it’s not about the name or definition of a method, it’s about the success that the applied strategy is supposed to deliver…

Apr 19

Tomorrow, I will travel to Wiesbaden together with Andreas to visit the JAX 2008. Since we took advantage of the “very early bird offering”, we can join the Agile Day on Monday (April 21) for free. This is a bonus for booking the main conference that takes place from Tuesday to Thursday.

I’m looking forward to the atmosphere and knowledge that is present at “Europe’s No. 1 conference for Enterprise Technology and Strategy” in Wiesbaden’s Rhein-Main-Hallen. Last year, we didn’t follow the whole conference but joined in only on Wednesday for the second and third main days. Additionally, we attended the workshop for model-driven development with Eclipse and openArchitectureWare which was very interesting.

However, this year we decided against a workshop in favor of attending the whole main conference. What we didn’t change is the hotel where we will have dinner and sleep: Hotel Rheineck.

Stay tuned for more information about the conference: The hotel provides free internet access via Wireless LAN ;)

Feb 04

Have you ever wondered why you have to enter the full location for a tag (like http://svnserver/tags/v20080204) instead of simply entering the tag name (like v20080204) when you are about to create a new tag for a project via the context menu (Team -> Tag…)?

The solution is to enable structure detection for the Subversion repository:

  • Switch to the SVN Repository Exploring perspective in Eclipse
  • In the SVN Repositories view, right-click on the repository and select Location Properties…
  • Go to the Advanced tab and activate Enable Structure Detection

Of course, the Resource Names must correspond to the folders in the repository to make this work.

From now on, the tag dialog will ask you for the Tag instead of the full Location.

Feb 02

I have been using Polarion.org’s Subversive plug-in for quite some time now. The latest version from Polarion was 1.1.9. Since the project is now hosted on Eclipse.org, the old update site does not provide the up-to-date version of Subversive. Fortunately, there is a migration guide for those who want to make the switch. The current version is 0.7, since Eclipse projects in incubation phase should have a version less than 1.0.

Migration in a nutshell:

  1. DO NOT UNINSTALL the Polarion.org version before installing the Eclipse.org version, otherwise you may lose all your SVN settings.
  2. Install the new version of Subversive + the SVN connectors (still from the Polarion site).
  3. Migrate your workspace via Help > Subversive > Migrate Projects and Settings. Do this for EACH workspace you want to be up-to-date.

(Please refer to the above mentioned migration guide for details.)

Unfortunately, shortly after I started the migration of projects and settings in my workspace, the dialog did not show any further progress after reporting that settings were converted and Eclipse seemed to hang somehow. Since nothing happened after a while, I decided to terminate the process and restart Eclipse. This time the migration worked, except for a warning that some closed projects could not be remapped. So I opened those projects and performed another migration which finished without any errors.

The next weeks will show whether it was a good idea to migrate to the still incubating project ;)