2015-03-20
2015-02-28
2015-02-25
2015-02-11
Let's Code Jumi #351: NIO.2 Migration (Part 1)
Java 7 comes with a new file I/O API (NIO.2), which has numerous improvements over java.io.File
. Upgrading to the new API is best done in small steps, the same way as when refactoring to remove primitive obsession.
2015-02-01
Let's Code Jumi #350: Java 7 Language Level
It turns out that changing a project's language level is not as simple as it seems. Changing Maven's settings on a per-module basis is easy, but IntelliJ IDEA 11 doesn't support compiling multiple modules with mixed language levels (IIRC, newer IDEA versions do support it).
2015-01-25
2015-01-16
2015-01-14
Let's Code Jumi #347: Bytecode Assertions (Part 1)
A too high Java class file version can break its consumers, so it's worth writing a test for. At the same time we can make it easier to write assertions for all class files in a JAR file.
2015-01-05
2015-01-02
2014-12-27
Let's Code Jumi #344: Generic Properties (Part 1)
Refactoring towards a generic way of representing DaemonConfiguration
's bean properties, to convert them to and from system properties.
2014-12-14
Let's Code Jumi #343: Phase Change Pattern
I invented a design pattern which makes it easy to update immutable objects without language support, by providing a way to make an object immutable and back again mutable.
2014-12-11
2014-12-02
Let's Code Jumi #341: Unit Tests (Part 1)
I have a bunch of ideas how to still refactor the daemon and suite configuration classes, but a prerequisite for quick refactoring is good unit test coverage.
2014-10-28
2014-10-23
2014-10-19
Let's Code Jumi #338: Daemon Configuration (Part 1)
The SuiteConfiguration
class is a bit non-cohesive, because it holds also daemon-related parameters which are used differently from suite-related parameters.
2014-10-01
2014-09-17
2014-09-03
Let's Code Jumi #335: Suite Configuration (Part 1)
To avoid changing JumiLauncher always when new suite parameters are added, the current approach needs to be refactored.