While resolving the test problems in the last code, let’s look at what we get by doing a
mvn jetty:run
The application has a header on top, a footer in the bottom, and a menu on the left hand side. This is in line with the Composite View pattern described in the Tiles tutorial:. To recompose this layout, see src/main/webapp/WEB-INF/layouts/layouts.jspx. In there you find that what we want to work with is
I love Roo! Ben Alex and his team have made a great job making starting a Spring project a breeze. However, I’ve shied away from using Java for XHTML/JS/CSS since 2003, so while I know the underlying technologies with Roo (JPA, the databases, Spring, JUnit, Tomcat, etc etc) I don’t know Apache Tiles at all. So I figured I’d like to learn it, at least until Roo 1.1 hits in a few weeks, when I’ll probably want to learn GWT. Stay tuned…
So, for learning this I’m going to make a project I’ve been planning ever since I released my awesome tuner for early music musicians: Well Tempered for the iPhone: Open Temperament. It’s going to be an open database for tuning temperaments. So, first step, register the domain (let’s hope this isn’t going to be one of those many great ideas that are parked on a domain due to lack of time ), done, and let’s get the basic Roo script up:
project -topLevelPackage net.opentemperament
persistence setup -provider OPENJPA -database HYPERSONIC_PERSISTENTentity -class ~.entities.Family -testAutomatically
field string -fieldName nameentity -class ~.entities.Temperament -testAutomatically
field string -fieldName title
field string -fieldName description
field string -fieldName originalAuthor
field reference -type ~entities.Family -fieldName familyentity -class ~.entities.OnlineUser
field string -fieldName fullname
field string -fieldName email
field reference -class ~.entities.Temperament -fieldName onlineAuthor -type ~.entities.OnlineUserentity -class ~.entities.Note -testAutomatically
field string -fieldName name
field reference -type ~.entities.Note -fieldName enharmonicTwin
field number -fieldName indexFromA -type java.lang.Integerfield reference -fieldName startingNote -type ~.entities.Note -class ~.entities.Temperament
entity -class ~.entities.Comma -testAutomatically
field string -fieldName name -notNull
field number -fieldName ratio -type java.lang.Double
field number -fieldName ratioInCents -type java.lang.Double
field reference -type ~.entities.Comma -fieldName aliasenum type -class ~.enums.IntervalType
enum constant -name MinorSecond
enum constant -name MajorSecond
enum constant -name MinorThird
enum constant -name MajorThird
enum constant -name PureFourth
enum constant -name PureFifthentity -class ~.entities.Deviation -testAutomatically
field reference -type ~.entities.Note -fieldName lowestNote -notNull
field enum -type ~.enums.IntervalType -fieldName intervalType -notNull
field reference -type ~.entities.Comma -fieldName deviationType -notNull
field number -fieldName deviationValue -type java.lang.Doublefield set -class ~.entities.Temperament -element ~.entities.Deviation -fieldName deviations
controller all -package ~.web
logging setup -level DEBUG
security setupjson add -class ~.entities.Family
json add -class ~.entities.Temperament
json add -class ~.entities.OnlineUser
json add -class ~.entities.Note
json add -class ~.entities.Comma
json add -class ~.entities.Deviationperform eclipse
perform test
The new AppleTV with iOS inside has me very excited as a developer and a media consumer. But, unfortunately, after the new AppleTV was announced, the old Apple TV is still on sale here in Denmark, Norway and Sweden. What gives, Apple? You neglect the most technophile part of Europe, both with the iPad and now with the AppleTV, without an obvious reason. I emailed support a few weeks ago, and they asked me to check back when the AppleTV started shipping. So now I guess we’ll have to drive to Germany to pick one up, just like with the iPad. Lucky for me that’s easier than for the Norwegians.
Eik Bank, who in 2007 bought the Danish part of Skandiabanken and thus got me as its customer, is in trouble. The share has fallen from ~86 DKK in august to ~30 DKK today, the board has resigned, the Færoe government is wondering if they can bail it out. Apparently the 9,1 million DKK guarantee the Danish government gave is worthless, the same article notes that the security behind the bank is stock in the bank and a failed construction company, so now they’re frantically trying to sell the Danish part, the one they bought in 2007. The Danish Finance Ministery guarantees that all deposits are safe, but nowhere do I see that means that customers will actually be able to access their money/pay their bills. A similar uncertainty was in Norway when the Icelandic bank Kaupting was put under administration and people’s money were safe but unavailable. (English readers, see this summary article on Eik Banks trouble)
This is where it gets interesting: The Danish part is an Internet only bank. The customers are people who are used to using the net, and thus quickly find out what’s going out. They usually also have a second bank, so all the ~100.000 customers going online and transferring their money to another bank should be a relatively quick thing. Thus we have a virtual run on the bank. Not queues as we know them, but lots and lots of transactions. And besides the run, who is going to want to buy an server-infrastructure with ~100.000 empty accounts?
So how serious is this? Just me pulling my money? Well, two days ago an ATM refused to talk to Eik Bank anymore, the first time I have experienced that. No problem with my other cards. Then todays headlines. Quite serious, and the news in danish TV isn’t helping them either. It’ll be interesting to see how this plays out. How this plays out will probably shape internet-only banks for a very long time to come. And that’s a banking concept I’ve been very fond of since I became a Skandiabanken customer in Norway a long, long time ago.
Follow Me
Follow me online and join a conversation