Java

Programming Books 2008

These are the programming books that I read or am reading for year 2008, which I think is good for reading by developers.
December is a long holiday. Any recommendations for good books for year 2008 which worth reading, irregardless of programming languages?
Effective Java (2nd Edition) by Joshua Bloch

Java Power Tools by John Ferguson Smart

 
Clean […]

XMind: Another Open Source Mind Mapping Software

XMind is another open source Java mind mapping software that you can use.

Java: ServiceLoader in JDK 6

ServiceLoader is a class available in earlier version of Java and staring JDK 6, it is available formally under java.util package.
In JDK 6 - java.util.ServiceLoader
Prior to JDK 6 - Refer to the document at http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html
A service is a well-known set of interfaces and (usually abstract) classes. A service provider is a specific implementation of a […]

Java Micro Benchmarks Framework

Japex is a simple yet powerful tool to write Java-based micro-benchmarks. It started as a simple project  primarily aimed at testing XML and Fast Infoset performance, but has evolved into a rather sophisticated framework with support for XML and HTML output as well as various types of charts for displaying the results. It is similar […]

Source Code License Tool

License Tool is a utility tool that helps in analyzing the copyright headers in your sources.
Its often a common problem when a new file is added into source repository, one may miss out to add the copyright header. Also Often one may need to update the copyright headers with a different one due to change […]

Open Source Web Service Monitor

wsmonitor (Web Services Monitor) is a light-weight SOAP and HTTP traffic monitor. This tool intercepts and logs the SOAP messages and HTTP headers between a sender and a receiver and displays them nicely formatted in a graphical user interface. 
The tool uses port-forwarding to capture the traffic. In simple language, when the tool is started it […]

Open Source Installer Framework

The openInstaller project provides the framework for developers to create cross platform installations.
The openInstaller project is a part of the GlassFish community of projects.

Graphical Java Debugger Front-End

JSwat is a graphical Java debugger front-end, written to use the Java Platform Debugger Architecture and based on the NetBeans Platform. JSwat is open-source software and is freely available in both binary and source code form. Its features include sophisticated breakpoints; colorized source code display with code navigator; byte code viewer; movable display panels showing […]

Dynamic Programming Language for Java

Clojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. […]

Java: Refactoring Methods

Here are the guidelines that we follow to refactor the methods in one of the legacy Java application, simplified from Martin Fowler refactoring book.

Rename a method to server its purpose
Add a parameter to the method if it is required
Remove a parameter if it is not required
Separate query from modifier and let each method does it […]

Professional Open Source ESB

Freedom OSS recently announced its creation of a Professionally Certified version of Servicemix ESB , called freeESBâ„¢
In addition to “Certified Bits” Freedom OSS introduces other significant enhancements with its freeESBâ„¢, such as:

Enhanced Security features
Bulk JMS Binding Component for handling large message volumes
JBI Compliant Hibernate Service Engine
SFTP Binding Component
JBI Compliment JBoss Rules Service Engine
JBI Compliant JBoss […]

Java: JSF Comparison Matrix

Interesting comparison matrix available at http://www.jsfmatrix.net

Java: Refactoring If-Then-Else using Enum

Download the code here
One thing good about object oriented language is that now we can reduce the conditional statements typically found in procedural language, which in turn can make our code more maintainable.
In Java, normally if we want to refactor a long conditional statements, we use polymorphism, which results in a lot of classes.
Another way […]

Java: Debug Commons Digester Exception

This is a exception produced by Commons Digester. After spending few hours to find out the root cause, including studying the source code, I found that I make a silly mistake.

1: java.lang.NullPointerException
2: at org.apache.commons.digester.Digester.createSAXException(Digester.java:3181)
3: at org.apache.commons.digester.Digester.createSAXException(Digester.java:3207)
[…]

Java: Generate UI Components for Business Objects

Metawidget is a ’smart User Interface widget’ that populates itself, at runtime, with UI components to match the properties of your business objects.
Metawidget does this without introducing new technologies. It inspects your existing back-end architecture (such as JavaBeans, existing annotations, existing XML configuration files) and creates widgets native to your existing front-end framework (such as […]

Java Spring Based Integration Framework

Apache Camel is a Spring based Integration Framework which implements the Enterprise Integration Patterns with powerful Bean Integration.

Camel lets you create the Enterprise Integration Patterns to implement routing and mediation rules in either a Java based Domain Specific Language (or Fluent API), via Spring based Xml Configuration files or via the Scala DSL. This means […]

Java: Open Source RDF Framework

Sesame is an open source framework for storage, inferencing and querying of RDF data.
It has been designed with flexibility in mind. It can be deployed on top of a variety of storage systems (relational databases, in-memory, filesystems, keyword indexers, etc.), and offers a large scala of tools to developers to leverage the power of RDF […]

Java: Open Source Mocking Framework

Here are some mocking frameworks that I have used

JMock is a library that supports test-driven development of Java code with mock objects.
Mock objects help you design and test the interactions between the objects in your programs.
The jMock library:

makes it quick and easy to define mock objects, so you don’t break the rhythm of programming.
lets […]

Open Source Business Rule Engine

Traditionally in our application we have the application and database layer. CodaServer takes a different approach.
CodaServer is a business rules engine; similar to a database, but specialized to make building form-based business applications simple. As your processes change, your software can incorporate these changes automatically without recoding.
CodaServer lets you map your processes to your data, […]

Model-based Data Export Tool

Jailer simplifies the extraction of referentially intact data. Once you have defined an extraction model, it can be used to extract data from the production database fast and easy whenever up-to-date test data is required.

Features

Exports consistent and referentially intact row-sets from your productive database and imports the data into your development and test environment.
Improves […]