Liferay diaries: Log4j

Setting up log4j for a Liferay and Spring application is easy: in /WEB-INF/log4j.properties log4j.category.org.springframework=DEBUG,console And some entries in web.xml <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>

Liferay diaries: Serving resources from a portlet with Spring

So there comes the day when you finally have to serve an image, pdf or excel report generated by a portlet or, more elegantly, by a Spring controller backing a portlet. At a first take this may seem impossible since the markup produced by a portlet is embedded in the markup (i.e. HTML) of all … Continue reading Liferay diaries: Serving resources from a portlet with Spring

Compact mockito: shorter answer notation

[Update 2014.10.08] The code is now on github. If you value brevity in tests like I do then maybe you would agree that mockito's doAnswer statements contain much boilerplate. That is certainly not mockito's fault but rather a result of java's inflexible syntax. When testing, i.e. GWT code one will frequently find the need to … Continue reading Compact mockito: shorter answer notation

Automatically starting an SSH tunnel in Ubuntu

As I am a frequent guest in public WLANs I spent some time looking into ways to connect safely to both the corporate network and the rest of the internet while enjoying the amenities of a cafés' or hotel's wifi. Because of its simplicity and universal availability I like SSH tunnels which are easily set … Continue reading Automatically starting an SSH tunnel in Ubuntu