See how Test Driven Development is done in practice

On the Manning site you can read the 2nd chapter of the book Test Driven - Practical TDD and Acceptance TDD for Java Developers by Lasse Koskela from 2007. The chapter 2: Beginning TDD
Continue reading →

The quest for a portal web framework is over and the winner is: Spring Portlet MVC

For a long time I've been looking for a web framework that would ease the development of web UI in portlets. Pure JSP is too old-fashioned and the abstraction it provides is just too low-level. There are many good web frameworks for standard web applications (JSF/Seam, GWT, Struts 2, Wicket, you name it...) but if they include portlet support than only as an after-thought and it's usually far behind the quality and features of the standard web framework. Nobody was able to recommend me a decent portlet web framework - until recently.

 First I've learned about an upcoming book Portlets in Action (preview) by Ashish Sarin, which teaches not only Portlets 2.0 (JSR 286) but also other must-haves for a real world development like a portlet web framework and Ajax (DWR in this case). You've surely already guessed that Ashish uses Spring Portlet MVC, which indicates that it must be indeed good.


Continue reading →

Released DbUnit Test Skeleton 1.0.0 - setup DbUnit test w/ embedded DB in few minutes

I've just released a little open-source project DbUnit Test Skeleton 1.0.0.

Creating a a
Continue reading →

A new release 0.30 of MiniPauker, a J2ME flashcard learning application

I've just released MiniPauker v0.30, a J2ME application for learning vocabulary etc.

MiniPauker is like Pauker a generic flashcard learning program, but written in J2ME for the use with mobile devices which support J2ME with MIDP2 and JSR-75. MiniPauker is compatible with Pauker (import/export).


Continue reading →

A logging wrapper around PreparedStatement to provide detailed info upon error

In my java web application I use JDBC to store data in batches into a database. When there is a problem the whole batch insert fails and it's difficult to find out what data caused it to fail. Therefore I've created a wrapper around PreparedStatement that remembers values passed into the various set* methods and can provide a comma-separated listing of all rows in the batch upon failure.

This is my LoggingStatementDecorator that stores values for later logging; based on java.lang.reflect.Proxy:


Continue reading →

Lotus Notes 8.x under Linux: No window shows up, Tips for upgrading to LN8.5

Since recently when I started Lotus Notes 8.0.2 as another user via sudo, it has started with the splash screen, asked for a password nad displayed a progress bar but as soon as the startup finished and the splash screen disappeared it hasn't open the main window. The process was running but there was no visible manifestation of it.

After a long time and an upgrade to LN 8.5 I've figured out that perhaps there was something wrong with the configuration. The reason to think so is that LN8.5 exhibited exactly the same problem but for all users. Later I've discovered that there were some configuration files like /etc/notes/ and /etc/ibm-hannover.conf left from the previous version though I uninstalled it (maybe these aren't created during the installation but during first startup). After their deletion and LN8.5 reinstall it more less started to work.


Continue reading →

How I managed to deploy a JSF/Seam portlet to JBoss after all

Deploying a custom JSF/Seam portlet to JBoss Portal Server isn't as easy as you'd expect, either manually or using Eclipse with JBoss Tools. I'll share with you what I learned about this.

Introduction


Continue reading →

Using ScribeFire to publish to JRoller.com

To get the Firefox extension ScribeFire (v.3.2.3) to publish to jroller.com you may set you account as follows:

  1. Address of you blog: e.g. http://jroller.com/page/holy
  2. Blog system: MetaWeblog API (though there is also en experimental support of Roller)

Continue reading →

Developing portlets for Liferay in Eclipse

In this blog I'd like to tell you how to use Eclipse with Liferay to develop portlets with the ability to change a class or a JSP in Eclipse and have that immediatelly reflected on the server (hot deployment).

Environment


Continue reading →

[DRAFT] Maven "change" project extending a non-maven web project

Disclaimer: I'm rather new to Maven and thus my solution is likely not the best one. I welcome any improvement suggestions. 

My current project here at IBA CZ extends a legacy non-maven web project and I had to devise how to organize the extension modules and other new modules depending upon them. The final goal was to create a portlet face for this servlet-only web application that is written in JSP and a strange presentation framework and then create specific portlets for specific needs.


Continue reading →

Seam Tutorial 1.2: RichFaces and paged table (datascroller)

In this two-part tutorial you will learn how to get started with the development of Seam applications with RichFaces using Eclipse with JBoss Tools. In the 1st part we've set up our environment, created, and run an empty shell Seam application. In this 2nd part we will create a simple web page with a table presenting data on multiple pages using Ajax (a RichFaces component) and its model stored as a POJO Component in the Seam Conversation scope. I assume that you already have some basic knowledge of Seam and JSF, for instance that you know what a Component or the Conversation scope are. I'll present my path to this goal with all the mistakes so that you too can learn from them.

My aim in this tutorial series is to create a Seam portlet displaying data in a paged (and ideally also sortable and filterable, but lets be realistic) table running in the Liferay portal.


Continue reading →

The Forgotten Hells or God Save North Korea!

I intended this as an exclusively technological blog but after seeing the movie Yodok Stories yesterday I feel I can't keep silent on the subject. I'm even more touched by the movie because the first years of my life I spent myself in a communist dictatorship though it was already in its last stage and can be by no means compared to the nightmare of Korea.

 On this planet there are hellish places where human life or dignity have no value, where people live in such a suffering, fear, and pain that we perhaps even can not call them human any more. These places are well hidden from our sight though as the recent Fritzl case has shown, it doesn't need to be far away. I'd like to remind the world of two such places because pretending they do not exist only helps them to last longer. It's very good that everybody speaks about the human rights violations in Tibet but there are countries that need our attention even more though they may not be as attractive and "in".


Continue reading →

When will we see JSR 286 in JSF portlets?

Since June 2008 we have the final release of Portlet 2.0 (JSR 286) specification bringing the long sought after features like inter-portlet communication (IPC - events, shared/public render parameters), support for Ajax (resource request), portlet filters and more. It's already implemented in the latest versions of leading portals including Liferay 5.0, JBoss 2.7, Websphere 6.1 (though you can still encounter some bugs).

Now we would like to know when the lovers of JSF will be able to profit from these features in their JSF portlets.


Continue reading →

Seam Tutorial 1.1: RichFaces and paged table (datascroller)

In this two-part tutorial you will learn how to get started with the development of Seam
Continue reading →

JSF: NullPointerException at FacesServlet.init line 144 / Can't parse faces-config.xml - SocketException

Problem

When deploying JSF 1.1 application to WebSphere 6.0 I got the following not much helpful exception:


Continue reading →

Copyright © 2026 Jakub Holý
Powered by Cryogen
Theme by KingMob