Tillmann Seidel

Tillmann Seidel

How to finally delete documents in CouchDB

April 20, 2015

Image via CC from Sh4rp\_i Documents in Apache CouchDB are usually not really deleted but rather marked as such. In use cases with many document insertions and deletions, this considerably affects …

Parsing JSON responses with JMeter

June 12, 2014

Image via CC from Hades2k JSON is becoming more and more important as a data exchange format, especially in Ajax web frameworks and RESTful web services. Apache JMeter, which is a very popular tool …

Get rid of your StringUtils!

November 6, 2013

Image via CC from [Alexei Kuznetsov](https://www.flickr.com/photos/eofstr/5480421664) Probably every Java developer has developed at least one String utility class in his life. Need a proof? Feed …

Mutable variable capture in anonymous Java classes

August 19, 2013

The Java compiler requires local variables of enclosing contexts referenced in anonymous classes (so-called captured variables) to be final. What if the anonymous class wants to alter the value of the …

Invisible chaos - mastering white spaces in Eclipse

July 9, 2013

By Pöllö (Own work) [CC-BY-3.0], via Wikimedia Commons Did you ever look at a colleague’s Java source code file which contained mixed spaces and tabs for indentation, making the code completely …

UTF-8 RAP I18N

June 18, 2013

I always wanted to write a blog post with a title consisting of just acronyms and numeronyms - here it is! Obviously, this post is about internationalizing web applications based on the Eclipse Remote …

Using EasyMock class extensions in Eclipse PDE tests

June 3, 2013

EasyMock is a powerful framework to create mock objects to use in Java JUnit tests. When used in an OSGi environment (e.g. to write Eclipse PDE tests), the creation of class extensions can cause …

When an exception gets lost

April 25, 2013

Image via CC from Paul Gorbould Recently I fell into the lost exception pitfall - when an exception thrown in a try block gets lost because another exception is thrown in the finally block. It wasn’t …

Running Eclipse applications on Windows 8

March 28, 2013

Reading the title, you might ask why this could be a problem. Good news: in most cases it isn’t. However it can be problem if you use native code in your Eclipse plug-in and run on an older version of …

Use your HEAD - checking CouchDB document existence

March 1, 2013

One common task when working with CouchDB is to find out whether a document with a given ID exists. A simple solution is to send an HTTP GET request with the ID to CouchDB and check the response’s …

Creating Tomcat heap dumps on Windows

January 31, 2013

One option for detecting memory leaks in Java is the analysis of heap dumps. The first step is to create an HPROF heap dump from the running Java application, the second is the analysis of the dump …

Finding the right OSGi services using the objectclass property

November 30, 2012

Recently I wanted to use the good old ServiceTracker to get access to OSGi services registered under a specific interface and matching a given filter. I was surprised to discover that there is no …

Filtering tables in SWT/JFace

October 26, 2012

Working with tables or trees with more than a handful of rows, you quickly find that you need a way to filter or search for content, otherwise they become unusable. The Eclipse workbench offers an …

Sorting out listener implementations in Java

September 21, 2012

Recently I scanned the source code of our current Eclipse RCP/RAP project for occurrences of the Listener (or Observer) pattern. I found no less than 6 (!) different implementations and decided to …

Improving reuse of JFace Data Binding validators

August 22, 2012

JFace Data Binding allows you to attach only one validator to a binding. Putting all constraints into one validator is essentially bad design and compromises reusability. Here’s a trick for dealing …

Reducing CouchDB disk space consumption

July 11, 2012

Apache CouchDB offers high availability, excellent throughput and scalability. These goals were achieved using immutable data structures - but they have a price: disk space. CouchDB was designed under …

Using the Whiteboard Pattern with RAP

June 8, 2012

When adopting the Whiteboard Pattern for one of our Eclipse RAP based web applications, we stumbled upon a problem concerning the session scope of events. Here’s how we solved it. The Whiteboard …