Java


Seam is Dead, Long live Seam

With Weld 1.0, the reference implementation of JSR 299 – Java Contexts and Dependency Injection now released, attention at JBoss has no doubt turned to Seam 3 which is going to be built on top of Weld. Red Hat and JBoss are committed to returning innovations back the JCP as is the case with Seam which not only resulted in JSR 299, but has also influenced a number of other JSRs especially JSF 2. With JSR 299 standardizing the Seam ‘style’ of development it also brings about a some fundamental game changes for Seam 3 (hence the title) as much of the strength of Seam becomes part of the JEE standards.
Read More »

Conversational Pitfalls

Seam conversations have certain rules that you need to be aware of when using them. This article came about because for the last couple of years, the same questions have been asked on the Seam forums regarding conversations. It is also a couple of issues that cropped up while I was working on the Seam vs. Spring Web Flow articles. Some of the problems are uncannily similar with similar solutions, so parts of this series may be of interest to non-Seam users. Additionally, it seems like a lot of this stuff will also apply to the conversational pieces of JSR 299 – Contexts and Dependency Injection which will be a part of JEE 6.
Read More »

Logging Conversation Demarcation In Seam

One way to see where your conversations start and end is to use the Seam event model to observe the conversation start and ends.

@Name("conversationListener")
@Scope(STATELESS)
public class ConversationListenerBean implements ConversationListener {

	@Logger
	private Log log;
	
	@In
	private Conversation conversation;

	@Observer(value="org.jboss.seam.beginConversation")
	public void observeConversationStart() {
		log.debug("Conversation #0 Started",conversation.getId());		
	}
	
	@Observer(value="org.jboss.seam.endConversation")
	public void observeConversationEnd() {
		log.debug("Conversation #0 Ended",conversation.getId());
		
	}
}

Just add this bean into your project and it will automatically log when you start and end conversations.

Notes On Choosing A Web Framework

I’m looking at starting a new project and once again find myself choosing between frameworks. Having spent some time evaluating different ones I wrote up some notes to share and get some feedback that might alter my thoughts or opinions. Here’s the criteria I’m using to choose a framework in no particular order.
Read More »

JTexGen – Procedural Texture Library Released

Download Here

I have finally found the time to finally release my library for creating procedural textures called JTexGen under the LGPL license. It is a framework for rendering and viewing procedural textures which you can then use as images, backgrounds and textures for modelling. Because the textures are procedural, you can ramp up the resolution of the image to get increased detail without getting blocky artifacts.

Demo Images

The source code for the above images is included in the distribution and also discussed in the reference documentation. These images are reproduced untouched after being generated using a few lines of Java code.

The distribution contains the usuals (source, a jar, javadocs can be built in maven) and also a reference manual in pdf and html format. The reference manual describes what procedural textures are and how to use the framework to create them. The library itself is thread safe, and uses multiple threads to render the images.

The files can be downloaded from Project Kenai, and contains nearly 100 different textures and signals you can use.

Open Source is Hard

I’ve been working on getting my procedural texture library completed and released to the public which should be ready next week. I’m currently going through the difficulties that always go with getting that last bit of polish on a project to get it ready for public consumption. In particular, I’ve just switched over to maven as a build process and moved it into Project Kenai.
Read More »