Hatena::ブログ(Diary)

leftovers... このページをアンテナに追加 RSSフィード

2009-11-07

Grails 1.2-M4 リリースだよ!

Grails 1.2-M4リリースしました

なんだか今回は元々Grails 1.2-RC1の予定だったのですが、どうやらSpring3待ちってことで、Grails 1.2-M4リリースになりました。公式情報によると、11月末にSpring3がリリースになるのでリリース後にGrails 1.2-RC1をリリースして、安定に向けていくようです。

Grails 1.2-M4マイルストーンリリースなので、M1-M3のバグ修正+新規機能追加となります。

詳しくは以前のエントリーも参考にしてくださいなっ。

Grails 1.2-M3 に更新! - leftovers...

Grails 1.2-M2 リリースですよ! - leftovers...

Grails 1.2-M1 リリース & JSUG+JGGUG合同勉強会 お疲れ様でした。 - leftovers...

さて本題!

Grails公式のリリースノート

http://www.grails.org/1.2-M4+Release+Notes

BootStrap に環境指定。

BootStrap.groovy環境の指定ができるようになりました。

def init = { ServletContext ctx ->
        environments {
            production {
                ctx.setAttribute("env", "prod")
            }
            development {
                ctx.setAttribute("env", "dev")
            }
        }
        ctx.setAttribute("foo", "bar")
 }

GORMデフォルト値のグローバル定義

GORMで使用する定義の共通内容をデフォルト値としてgrails-app/conf/Config.groovyに設定できるようになりました。

例えばシーケンスの定義とか。

grails.gorm.default.mapping = {
   cache true
   id generator:'sequence'
  'user-type'( type:org.hibernate.type.YesNoType, class:Boolean )
}

共通利用したい制約を指定とか。

grails.gorm.default.constraints = {
   '*'(nullable:true, blank:false, size:1..20)
}

制約グループ名を定義して、、

grails.gorm.default.constraints = {
   myConstraints(nullable:true, blank:false, size:1..20)
}

ドメインクラスで使用する

static constraints = {
  myProperty shared:"myConstraints"
}

#わぁぁあ、便利!


Webフロープラグイン化(外部化)の追加実装

onEntryやonRender等のWeb FlowイベントGrails Web Flow DSLに実装されました

def searchFlow = {
  onStart {
    println "started"
  }
  onEnd {
    println "ended"
  }

  displaySearchForm { 
    onRender { println "rendering" } 
    onEntry { println "entered" } 
    onExit { println "exited" }

    on("submit") { 
      [results: Book.findAllByTitle(params.title)] 
    }.to "displayResults"

  } 
  displayResults() 
}

Better JSONBuilder

JSONBuilderを大幅修正!JSONレスポンスをこんな感じに返せます。

render(contentType:"text/json") {
	categories = [ { a = "A" }, { b = "B" } ]
}

Which will produce:

{"categories":[ {"a":"A"} , {"b":"B"}] }

以前のバージョンの実装に戻して使用する場合は、Config.groovyに、grails.json.legacy.builder=trueを定義すれば良いです。



とりあえずGrails 1.2-M4はこんな感じです。

他に、自分が注目していたバグFixは、GAE/Jでの問題点を修正した、これです。

attempted fix for GRAILSPLUGINS-1546 ? grails/grails@b134adb ? GitHub

この問題は、Grailsのコアメンバーがやらかした訳ではなくて、GitHubソース管理をするようになってからいろんな人がコミットできるようになり、凡ミスをそのままマージしてしまったとこから始まってた感じです。#それに気が付かないのも問題ですが・・・。

まあ、とにかくこれで強引修正しなくてもGrails 1.2が簡単にGAE/Jで動くのを期待。

#休み中に試す!

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証