Archive for December, 2008

Devoxx 2008 Free License Winners Announced

Monday, December 22nd, 2008

The JetBrains team had a wonderful time at Devoxx 2008 in Antwerp, Belgium – from the many interesting presentations, to the huge number of attendees, to the fantastic entertainment – everything was just perfect! Special thanks to Stephan Janssen and the other Devoxx organizers for, once again, putting on such a great event.

If you were there, chances are you stopped by our booth – to demo IntelliJ IDEA 8.0 and TeamCity 4.0 – and entered to win a free IntelliJ IDEA license. We originally thought that we’d giveaway 10-free licenses but, due to the incredible number of entries, we decided to giveaway 20 instead! Thanks to everyone who entered, it was great meeting you all.

And the winners are:

Xavier Cosyns
Andreas Andersson
Austin Moore
Michele Mizzaro
Dongbo Cao
Daadoucha Skander
Rudolf Fluetsch
Gert Pelssers
Mees Witteman
Doug Westcott
Bart Van Bogaert
Peter Lodewyckx
Rajeev Chugh
Serkan Erdur
Leonard Benjamin
Celine Gouttiere
Igor Mihalik
Johnnie Pedersen
Daniel Guillaume
Nils Preusher

Congratulations to the winners, your license keys are on the way, in fact, they should be in your inboxes already!

IntelliJ IDEA 8 Refactorings: Remove Middleman

Wednesday, December 3rd, 2008

IntelliJ IDEA 8 can help you maintain and improve the source code in a wide variety of ways. For example, to make it clearer, simpler and less knotty, you can use its rich set of refactorings. In this article we’re going to explain the Remove Middleman refactoring, which is helpful when you have classes doing too much simple delegation. Remove Middleman refactoring replaces all calls to delegating methods with the equivalent direct calls.

Class Foo before refactoring
Class Bar
Class Client before refactoring

Here, bar field in the Foo class is nothing more than a simple delegation, so we can safely remove it. Right-click this field and select Refactor | Remove Middleman. IntelliJ IDEA suggests to inline methods which simply forward the calls to this field and remove their declarations. That’s OK for this case, so we click Refactor and enjoy the result!

CLass Foo after refactoring
Class Bar
Class Client after refactoring

If you need the delegating method declarations for backward compatibility, or any other reason, you keep them – IntelliJ IDEA gives you this option.