Vita Rara: A Life Uncommon


Apple's ProCare is BS for Professionals


I make no secret of the fact that I'm a Mac user, and in general an Apple fan, but I have one serious bone to pick with Apple.

I own a lot of professional Apple equipment, some Mac Pros, a G5 Quad, a Mac Book Pro, Apple screens, and scads of other iBooks, and PowerMacs. (At the moment I think I have about 12 macs total.) In general I purchase professional level machines for professional work. Problem is when something goes wrong with one of them Apple makes no differentiation between a consumer level machine or iPod; and a professional machine, in their treatment of your needs. You pay a professional price, but get treated the same as someone who bought an iPod Shuffle or a Mac Mini.

Compiling JasperReports JRXML Files with Maven

Categories: |

I recently started using JasperReports in Quadran. I'm using Maven to manage the Quadran project, and I wanted the JasperReports to fit into the process like everything else.

There is a Maven plugin in the Mojo collection for compiling jrxml files. Currently the plugin is in the sandbox, so you will need to check it out of Subversion and install it yourself in your local Maven repository.

ApacheCon US 2007: Using Groovy with Struts 2

Categories: | | | |

I received an email from ApacheCon today. They have accepted my Using Groovy with Struts 2 training session.

Using Groovy with Struts 2: A hands on half day training session. Learn how to use Groovy with Struts 2. Topics covered will include: Integrating Groovy into the Struts 2 Maven archetype; implementing actions, and service beans in Groovy; using Spring to wire Groovy service beans and action classes; using dynamic Groovy actions that do not require a server restart; writing Data Access Objects in Groovy and using Spring based transaction support with Java Persistence API (JPA).

I don't have scheduling information yet, but I believe it will either be on November 12 or 13. Stay tuned for more information.

What would you want in a Struts 2 cookbook?


I'm seriously considering writing a dead tree Struts 2 cookbook. What types of recipes would you like to see? Beyond what is already in my cookbook I've been thinking of the following:

  • Integration with other tools:
    • Spring & Spring MVC
    • Hibernate, iBatis, JPA
    • JSF (integration and migration)
    • Guice
    • SiteMesh
    • Others?
  • Architecture
    • Using "modules" to break up a large project
    • Using layers
    • Using Spring as architectural glue

Creating a Login Interceptor in Struts 2

Categories: | |

Controlling access to web resources with a a login process is a common use-case. Implementing this using an interceptor in Struts 2 is very straight forward.

The parts of the solution:

  • An interceptor class,
  • An interceptor definition in our struts.xml file,
  • An interceptor stack that uses our interceptor in our struts.xml file,
  • A global result in our struts.xml file,
  • A JSP page to accept the username and password,
  • A service bean to process our user's login attempt,
  • A way to wire our service bean to our interceptor.

ApacheCon 2007 US Submissions

Categories: | | |

I've submitted three proposals for talks at ApacheCon 2007 US, login to see the proposed sessions and give feedback on them.

I've never submitted a proposal to do a presentation at a technical conference before. So, this is a first. I've done a lot of training and mentoring, but never worked for an employer who saw sharing the knowledge as something of value they wanted their employees doing. (It's good to be self-employed now!)

Post and Redirect in Struts 2

Categories: | |

Redirecting a user of a web application after submitting an HTTP POST is a common pattern. A common use case is to redirect to a display page after a user has created something, such as a purchase order or sales order.

This post and redirect pattern is supported by Struts 2. The means of doing this wasn't obvious to me, but some reading and searching turned up the answer. There are some examples around for doing a redirect using static parameters, but that doesn't help when you want to redirect someone say to display the order they just placed on your website.

Redirects in Struts 2 can use static or dynamic parameters. Here's a simple static redirect:

The Definitive Guide to Grails

Categories: | | |

I picked up a copy of The Definitive Guide to Grails this week. I'm most of the way through it, and I'm impressed. The Grails team has definitely done a lot of work. As a result I've started to dig into the code, and I'm getting a lot of ideas for Groovy Works.

Overall I highly recommend getting a copy of the book, whether you use Grails or not. It is well worth a look.

I'll post more thoughts when I finish the book.

Groovy Works

Categories: | | | |

What is Groovy Works?

Groovy Works is a marriage of the Groovy programming language, Struts 2 and the Spring Framework.

Using Groovy Works you can develop your "Java" web application and avoid time consuming re-deployments and re-starts. Using Spring's support for dynamic re-compilation of scripted beans you can simply code, save, test in your browser. No need for costly recompilation, package, deploy, restart cycles.

Right now Groovy Works exists as a Struts 2 Plug-in, and an example application. Groovy Works depends on Spring 2.0.3.

Groovy and Struts 2 Integration

Categories: | | | |

I've done more work on integrating Struts 2 and Groovy. The short news is I'm making progress. I have reloading service beans and actions sort of working. Most of the issues are Spring related (more), but I'm working through those and we'll see what comes of it. With the release of Spring 2.0.3 the AOP issues should be fixed. I haven't actually gotten to testing that yet.

Syndicate content