Thursday, the morning after our Shale jerry-rig marathon, I discovered that, even after hard-coding the end-state viewId, the dialog context for the parent dialog, listManager, was nullified on returning to the listsManager.xhtml page.
It was a dark hour, but we soon found a new shining software implementation to help us. Spring-Webflow rose to the occasion! It was so simple, in fact, that, despite Mr. Chandler being out-of-touch on the Northside for most of today, I still made significant progress in understanding and implementing this new framework. Do not misunderstand, I still didn’t actually get it running, but at the close of the day I believed I was close.
Spring says “flow” instead of “dialog”, and has an even shorter list of simple states. The nifty thing about Webflow (aside from the fact that it works in our app) is its close connection with other Spring features, such as Spring-Faces!
On Friday we encountered some difficulty making sure we had the up-to-date Spring webflow jar file. Our current version, downloaded from the central maven repository, was 1.0.4. Spring Webflow is currently cutting edge at 2.0.2. We eventually located the correct maven repository for milestone releases, and added the dependency to our pom as follows:
<repository>
<id>spring-milestone</id>
<name>Spring Milestone Repository</name>
<url>http://maven.springframework.org/milestone</url>
</repository>
We then added the dependencies recommended by Spring:
<dependency>
<groupId>org.springframework.webflow</groupId>
<artifactId>org.springframework.binding</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.webflow</groupId>
<artifactId>org.springframework.js</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.webflow</groupId>
<artifactId>org.springframework.webflow</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.webflow</groupId>
<artifactId>org.springframework.faces</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>
Strangely enough, the downloaded jar files, when viewed in Eclipse under the lib folder, were under the path name org.springframework. as opposed to the other Spring jars which came in under the path name spring.
Once we got the framework running around midday, we began trying to implement our pages as a simple flow/subflow pattern. It took us to another 10:30 pm quitting time. At least this time it seemed to do what we wanted it to. With a lot more practice, we hope it will be just the ticket for modeling our flows.
Numbers of the Day: windows open: 15. Number of editors open in Eclipse: 54. Number of tabs open between three Firefox windows: 35. Total windows open counting Eclipse editors and Firefox tabs: 100.
Filed under: Jobber's Log | Tagged: JSF, Shale, Spring
