CSVからGrailsまで(2)

NewGrandの元祖ナポリタン


SimpleModelerでCSVからGrailsまで(1)の続き。(1)では、CSV→Mindmap(XMind)→Scala DSL→Web仕様書の手順でCSVからWeb仕様書の生成を行った。
今日はScala DSLGrails

(1)Grailsプロジェクトを作成

$ grails create-app demo

Grailsのコマンドで足場を構築。

(2)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.demo

class 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アプリケーションが自動作成されたことになる。