All posts filed under: Software Engineering

Seam is going to be big

Months ago, I started a little sparetime “Web 2.0” project together with two coworkers. My main interest was to enhance my JEE knowledge and to get to know a new framework. I was unsure whether to go for Struts Shale or JBoss Seam and decided for the latter. Today, I’m confident I took the right choice. JBoss and Exadel joined forces and open-sourced Exadels RichFaces library under LGPL. If you don’t know what RichFaces is, have a look at the live demo and you may understand my excitement. Since Seam is meant as a competition to .NET, this is another important step for the guys around Hibernate and Seam founder Gavin King. Really looking forward to playing with it tomorrow.

Setting up SVN and Trac

I’m using Subversion and Trac for several projects and I always thought that I should write down my workflow to set it up. This time, I did, and I’m sharing it with you. It’s probably not the best way, but it works for me. I will not cover the prerequesites here, like installing Apache 2 with DAV and SVN support or installing Subversion and Trac. The subversion server is on a Linux box while the client is a Windows XP machine with TortoiseSVN as the SVN front-end.

Adapter Pattern applied

When you’re applying an Adapter Pattern, you’re generally grappling with classes and method signatures. I just had to deal with packages and package visibility in Java where I found the Adapter Pattern to be an interesting solution. I was accessing a class A in a package com.example from the outside (an RMI call). The method I called had to return an instance of a class B in a subpackage, say com.example.sub, which in turn had to access a class C in package com.example. The trouble with class C was that it had only package-visible methods so that I could not call them from class B which was in a subpackage. Exposing C’s method to the public wasn’t desireable at all, so changing the visibility wasn’t a choice. I wrote an adapter class in package com.example which had publicly visible methods but a package-visible constructor. Now I was able to instantiate class B in class A and provide an instance of my adapter class which in turn received a reference to class C and then delegated …

VS2005 Enhancements

Microsoft has released a Power Toys package for VS2005. Visual Studio 2005 IDE Enhancements are a set of Visual Studio extensions that are designed to make you more productive. These enhancements are directly integrated into the Visual Studio IDE. This set of enhancements includes Source Code Outliner, Visual C++ Code Snippets, Indexed Find, Super Diff and Event Toaster tools. All these tools except the IDE Event Toaster can be invoked from Visual Studio’s View.OtherWindows menu group. The Event Toaster tool can be configured from the Tools Options dialog under the PowerToys node. The Visual C++ Code Snippets can be invoked on any C++ source file. Previously, these enhancements were only available via the Visual Studio 2005 SDK. This installation does not require Visual Studio 2005 SDK. Source Code Outliner: The Source Outliner tool is a Visual Studio extension that provides a tree view of your source code’s types and members and lets you quickly navigate to them inside the editor. Visual C++ Code Snippets: The Visual C++ Code Snippets tool lets you insert snippets in …