CSVからGrailsまで(2)
SimpleModelerでCSVからGrailsまで(1)の続き。(1)では、CSV→Mindmap(XMind)→Scala DSL→Web仕様書の手順でCSVからWeb仕様書の生成を行った。
今日はScala DSL→Grails。
(1)Grailsプロジェクトを作成
$ grails create-app demo
Grailsのコマンドで足場を構築。
$ simplemodeler -grails com.demo -output:demo
Scala DSLで記述しモデルからGrailsのドメイン・オブジェクトPOGO(Plain Old Groovy Object)を生成し、Grailsの足場の上に生成。
Grailsプロジェクトdemoのgrails-app/domain/com/demoの下にDeaClark.groovy、DeaCustomer.groovy、DeeBuy.groovy、DerGoods.groovyが生成される。
===DeeBuy.groovy===
package com.democlass DeeBuy {
static constraints = {
buyId()
dateTime()
}String buyId
Date dateTime
}
(3)Grailsアプリケーションを作成
$ cd demo
$ grails generate-all com.demo.DeeBuy
$ grails generate-all com.demo.DeaClerk
$ grails generate-all com.demo.DeaCustomer
$ grails generate-all com.demo.DerGoods
demoプロジェクトに移り、GroovyのコマンドでDeeBuy、DeeClerk、DeeCustomer、DerGoodsのCURDを行うWebのビューとコントローラを生成。
(4)Grailsアプリケーションを実行
$ grails run-app
GroovyのWebアプリケーションを起動。
localhost:8080にアクセスすると、以下のようにWebアプリケーションのホーム・ページが表示される。
DeeBuyの情報の入力画面。
DeeBuyの一覧画面。
以上のようにGrailsのWebアプリケーションが無事動作した。
元々の入力となったCSVファイルは以下のものである。
===demo.csv===
#actor
customer
clerk
#resource
goods
#event
buy
ここから、プログラムを作成することなく、コマンドによる変換だけでWebアプリケーションが自動作成されたことになる。