leftovers...

about grails groovy

Grails 2.3.4 リリース!!!

先々週に引き続き!
Grails 2.3.4 リリースです!!


バグフィックスです!
今回も注意点
Hibernate プラグインのバージョンを 3.6.10.6 しましょう!

runtime ':hibernate:3.6.10.6'
build ':tomcat:7.0.47'


いよいよ来週は!Groovy & Grails eXchange 2013 @ ロンドンです!
http://skillsmatter.com/event/groovy-grails/groovy-grails-exchange-2013
今年も行ってきます!その後ちょっとヨーロッパを旅してきます。
Groovy & Grails eXchange 2013 @ ロンドン前の最終リリースらしいです。
ロードマップ的には2.4の前に、2.3.5,2.3.6,2.3.7があるっぽいです!


気になる内容としては

  • 内部的な話ですが、grails-data-mappingは2.0.52.0.6に更新されています。今度こそもろもろ修正されたのか!?
  • Structured Data Binding Editorsを追加

Structured Data Binding Editors??
リクエストパラメータのデータバインディング時に、構造化されたパラメータを演算してプロパティにセットするなどの動作を実装するための仕組みです。
追加されたドキュメントからサンプルコードを以下に。まだ試して無いので説明はしません!いやはや本当に実装されているのか!?
AbstractStructuredBindingEditorを継承したコード。

// src/groovy/databinding/converters/StructuredShapeEditor.groovy
package databinding.converters

import databinding.Shape
import org.grails.databinding.converters.AbstractStructuredBindingEditor

class StructuredShapeEditor extends AbstractStructuredBindingEditor<Shape> {

    public Shape getPropertyValue(Map values) {
        // それぞれの値をMapから取得
        def width = values.width as int
        def height = values.height as int

        // Shapeのarea用の値を計算
        def area = width * height

        // 生成して返す
        new Shape(area: area)
    }
}

resources.groovyにレジストします。

// grails-app/conf/spring/resources.groovy
beans = {
    shapeEditor databinding.converters.StructuredShapeEditor
}

コントローラでは以下のように。

// grails-app/controllers/demo/DemoController.groovy
class DemoController {

    def createGadget(Gadget gadget) {
        /* リクエスト内容
        /demo/createGadget?expandedShape=struct&expandedShape_width=80&expandedShape_height=30
                          &compressedShape=struct&compressedShape_width=10&compressedShape_height=3
        */
        // 上記のリクエストでは、gadget.expandedShape.areaのバインド結果は2400となり
        // gadget.compressedShape.areaは30となります。
        // ...
    }
}

Grails 2.3.4 の公式リリースノートはこちら。
http://grails.org/2.3.4+Release+Notes
JIRA http://jira.grails.org/secure/ReleaseNote.jspa?projectId=10020&version=13522
ダウンロード http://grails.org/Download
直リン grails-2.3.4.zip
ドキュメント http://grails.org/doc/2.3.x/
Whats New 2.3
Grails 2.3の新機能(意訳版)


毎度ですが、Grails 2.3の細かい話はこちらも参照してください。
Grails 2.3.0 リリース!きた! - leftovers...
Grails 2.3 新時代への幕開け。



では、 帰国したら、そのうちGGXの土産話でもします。