Java EE6 CDI, Named Components and Qualifiers

One of the biggest promises java EE6 made, was to ease the use of dependency injection. They did, using CDI. CDI, which stands for Contexts and Dependency Injection for Java EE, offers a base set to apply dependency injection in your enterprise application. Before CDI, EJB 3 also introduced dependency injection, but this was a bit basic. You could inject ...

Read More »

Testing an Object’s Internal State with PowerMock

Most unit testing focuses on testing an object’s behaviour in order to prove that it works. This is achieved by writing a JUnit test that calls an object’s public methods and then testing that the return values from these calls match some previously defined set of expected values. This is a very common and successful technique; however, it shouldn’t be ...

Read More »

Top 10 Java Books you don’t want to miss

We learn by reading books and experimenting on it. So, it is imperative that you choose the best available options. In this post I would like to share my experience with some of the books and how they can help you evolve as a Java Developer. Lets start from the floor, the first 3 books are a good starting point ...

Read More »

Parametrizing custom validator in JSF 2

Writing a custom validator in JSF 2 is not a complicated task. You implement Validator interface, add @FacesValidator annotation and insert validator declaration in faces-config.xml, that’s all. A piece of cake. But let’s consider following scenario: You need custom date validator, let’s say checking that date from rich:calendar is not in the past. So we place calendar component with validator ...

Read More »

Vaadin add-ons and Maven

Introduction One (of the many) thing I like about Vaadin, is its community of ‘add-ons’ to the Vaadin framework – what they call the Vaadin Directory. An ‘add-on’ is a community-contributed addition to the framework, and can be anything from for example a new client-side widget to a Lazy loading container for a data table. Something similar I would definitely ...

Read More »

You can’t be Agile in Maintenance? (Part 2)

This article continues from You can’t be Agile in Maintenance? (Part 1) Coding Guidelines – follow the rules Getting the team to follow coding guidelines is important in maintenance to help ensure the consistency and integrity of the code base over time – and to help ensure software security (PPT). Of course teams may have to compromise on coding standards ...

Read More »

You can’t be Agile in Maintenance? (Part 1)

I’ve been going over a couple of posts by Steve Kilner that question whether Agile methods can be used effectively in software maintenance. It’s a surprising question really. There are a lot of maintenance teams who have had success following Agile methods like Scrum and Extreme Programming (XP) (PDF) for some time now. We’ve been doing it for almost 5 ...

Read More »

Concurrency optimization – Reduce lock granularity

Performance is very important in high load multi-threaded applications. Developers must be aware of concurrency issues in order to achieve better performance. When we need concurrency we usually have a resource that must be shared by two or more threads. In such cases we have a race condition, where only one of the threads will acquire the lock (on resource) ...

Read More »

Apache Shiro : Application Security Made Easy

Considering that JAVA is over 10+ years old, the number of choices for application developers that need to build authentication and authorization into their applications is shockingly low. In JAVA & J2EE, the JAAS specification was an attempt to address security. While JAAS works for authentication, the authorization part is just too cumbersome to use. The EJB and Servlet specifications ...

Read More »