I’m delighted to announce that Maurizio Taverna has been voted in as a committer on Apache Isis.
Maurizio came across Isis at the beginning of the year, and since then has been working rapidly and enthusiastically to develop a new viewer using DHTMLX. Although (because of licensing restrictions) this codebase cannot be donated to Isis, it’s a substantial and impressive piece of work. If you’ve not seen it yet, there’s an online demo here and the code is on github.
Maurizio has also demonstrated the viewer as an app running on Google App Engine (the demo above is running on GAE). To do this he has identified and addressed several improvements; these have been fed back to a few changes to the JDO objectstore component, as well as new documentation on our website.
Maurizio has also had several ideas to help publicise and promote Isis, including a series of animated interviews (a draft of the first of which can be seen here).
I’d personally like to thank Maurizio for all his hard work so far, and to say that I’m very much looking forward to working with him and gaining from his experience in the future.
Everyone knows – or at least suspects – that most of the Eclipse goodies live under the Refactoring menu. However, there’s also a lot of goodness under the Source menu too.
Here’s another in my nascent series of quick tips for Eclipse. This one shows how you can use Eclipse’s quick fix feature (ctrl+1) to quickly generate code.
When I teach my little Java TDD course, I quite often do live coding demos …especially if we’re running behind schedule and I want to catch up; I’ll skip an exercise and work through the solution. And one of the remarks I often get at the end is “thanks for the course, but what I also found useful was learning about how to use Eclipse effectively”.
Well, I guess I have used Eclipse for over 10 years now, so I suppose I am reasonably familiar with it. So I thought I’d show some of these tips by way of a series of screencasts.
The first one in the series is nice and simple: the “Extract Local Variable” refactoring, and its corollary, “Inline Variable”; something I use an awful lot when working on Apache Isis codebase. You’ll find it just below…
A few days ago we (that is to say, the Apache Isis team) pushed out a new point release of Apache Isis Core (v1.1.0), along with two of its components Isis Shiro Security (v1.1.0) and the Isis Wicket Viewer (v1.1.0). The Quickstart Archetype that combines Wicket, Shiro, Restful and JDO also got an update (v1.0.2).
New and notable features in this release are: Read the rest of this entry
Following on from Isis’ recent graduation as an Apache top-level project, I also blogged about how we have a new CMS-based site and also how we’ve moved our code from Subversion and into Git. This is also part of a general theme to make Isis as easy as possible to contribute back to; all about growing the community.
Another change that we’ve made is that we’ve refactored the codebase into separately releasable components. Isis has Read the rest of this entry
One requirement that most business apps have is to be able to dynamically generate Word documents. For scalar non-repeating data this is not too difficult in .docx; indeed the file format has built-in support for data binding using Custom XML Parts. However, there is no support for repeating data, at least, not prior to Word 2013. Which is where a little domain service that I’ve been working on comes into play Read the rest of this entry
I’m running my little TDD course again, and (as usual) it’s given rise to another small idea to make unit testing easier: provide Mockito-like automocking (using a @Mock annotation), and in addition perform autowiring of all mocks into the class under test. Read the rest of this entry
Here’s a nice little gotcha for ya!
A fairly common pattern is to use a filter that wraps the (Http)ServletRequest and (Http)ServletResponse in an app-specific wrapper; this can be used to hold user credentials and state etc. In essence it is:
Read the rest of this entry
In this week’s run of my TDD course, I thought it would be interesting to write a little fixture to make it easier to use dbUnit. My original thought was just to teach dbUnit about JSON, but it turns out that Lieven Doclo has done that already. So I decided to go a step further and also combine dbUnit with JUnit Rules, and provide automatic bootstrapping of an HSQLDB in-memory object store.