Grails

1.0RC3がstable release

1.0RC3がstable releaseとなりました。# RC2から一週間ちょいですか... # RC3の次はRC4ですか...http://grails.org/

Grails 1.0 RC2 が stable release に

なったみたいです。http://grails.org/Download

『Grails eXchange 2007』のレポート

先月ロンドンで行われた『Grails eXchange 2007』のレポートだそうです。http://journal.mycom.co.jp/articles/2007/11/04/grails/index.html

気になる開発プロダクツ

技術評論社さんのサイトで、「気になる開発プロダクツ」の第8回目として、GroovyとGrailsが取り上げられていました。http://gihyo.jp/dev/serial/01/awdp/0008筆者は、『スクリプティング with Java』を書いた方みたいです。

Grails 1.0 RC1 is the current stable release

ダウンロードページから 0.6 がなくなり、いつの間にか、1.0 RC1 が stable release となりました。# 次は、1.0 RC2 みたいです。

『スクリプティング with Java』

『スクリプティング with Java』という書籍が本日発売の予定です。http://www.gihyo.co.jp/books/syoseki-contents.php/978-4-7741-3239-6特集2が、GroovyとGrailsネタだそうです。

開発者、かく語りき

ZDNetから http://japan.zdnet.com/oss/story/0,3800075264,20356648,00.htmInfoQから http://www.infoq.com/jp/news/2007/09/grails06

g:elseifタグの前に

<g:if test="..."> ... </g:if> <g:elseif test="..."> ... </g:elseif>は問題ないのですが、 <g:if test="..."> ... </g:if> <g:elseif test="..."> ... </g:elseif>は org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: Tag [elseif] cannot have non-whitespace characters directly preceding …

0.6リリースのニュース

ZDNet Japanに0.6リリースのニュースが出ました。http://japan.zdnet.com/news/devsys/story/0,2000056182,20355778,00.htm

findAllメソッドに記述するQueryについて(2)

先程のエントリで、 if (!query.matches("from [" + clazz.getName() + "|" + shortName + "].*")) { throw new GrailsQueryException("Invalid query [" + query + "] for domain class [" + clazz + "]"); } というソースの話をしましたが、よく考えれば、…

findAllメソッドに記述するQueryについて

findAllメソッドに、以下のようにQueryを指定してみました。 FROM Ordering WHERE id = :id で、実行してみたら、 org.codehaus.groovy.grails.orm.hibernate.exceptions.GrailsQueryException: Invalid query [FROM Ordering WHERE id = :id] for domain cl…

最新のWicketプラグインのインストールについて

現時点での、最新のWicketプラグインのインストール方法のメモ # (プロキシを経由しないでインストールする場合) > grails install-plugin wicket 0.3 # (プロキシを経由してインストールする場合) > grails -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 i…

複数のDB(DataSource)を使いたい場合はどうする?

Grailsで、複数のDB(DataSource)を使いたい場合はどうしたらよいでしょうか?の試行錯誤。やりたいことは、 複数のDBにアクセス。 1つのDBは、新規で、ごく普通にテーブルを作ったり、ドメインクラスにマッピングする。 もう1つのDBは、既存のDBで、Readだけ…

Windowsのコマンドプロンプトでの-Dオプション

普段はWindows+cygwinで開発をしているのですが、cygwin上で、Proxyを通してwebtestを作成する場合、 $ grails -Dhttp.proxyHost=hogehoge -Dhttp.proxyPort=9999 create-webtest は問題なく動作するのですが、同じことをWindows付属のコマンドプロンプトで…

プロパティへの動的(?)アクセス

以下のようなコードですが、 def id = 1 def ordering = Ordering.get( id ) println( ordering.name ) ordering.name = 'hogehoge' Groovy的には、 def id = 1 def ordering = Ordering.get( id ) println( ordering.getProperty( 'name' ) ) ordering.invo…

メソッドの引き数名を間違えた場合

メソッドの引き数名を間違えた場合、 class OrderingController (省略) if ( check( ordering ) ) { (省略) def check( Ordering oredering ) { ordering.(省略) 呼び出し側の方で、「OrderingControllerクラスにorderingなんてプロパティはない」というエラ…

g:elseifの閉じタグ

http://grails.codehaus.org/GSP+Tag+-+elseifでは、g:elseifの閉じタグは <g:if test="${name == 'fred'}"> Hello Fred! </g:if> <g:elseif test="${name == 'bob'}"> Hello bob! </g:else>と書かれていましたが、よく考えてみれば、 <g:if test="${name == 'fred'}"> Hello Fred! </g:if> <g:elseif test="${name == 'bob'}"> Hello bob! </g:elseif>が正…

Laszlo on Grails

前々から興味があり、昨日もセミナーに行ってきたOpenLaszlo。それとGrailsをコラボしているWebページです。Laszlo on Grails続 Laszlo on Grails

Controllerの親クラス

あるクラスを継承してControllerを作成する場合、親のControllerクラスは"abstract"でないといけないみたい。あと、(abstractではない)concreteなControllerクラスは、デフォルトコンストラクタを明示的にしろ非明示的にしろ、持っていないといけないみたい。

Grailsを0.5.6にあげたら...

Grails 0.5 + Wicket Plugin 0.1 の環境を Grails 0.5.6 + Wicket Plugin 0.1 にあげたら、 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsUrlMappingsHolder': Invocation of init method failed; neste…

1.0のリリース日

メーリングリストによると、1.0のリリースを、10月目標に頑張っていらっしゃるようです。

JavaEEやRailsとの比較

メーリングリストによると、今年のJava Oneで、こんなテクニカルセッションがあったようで。http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-9535&yr=2007&track=9

0.5.6リリース

Grailsの0.5.6が出ました。http://grails.org/Download http://grails.codehaus.org/

0.5.5リリース

Grailsの0.5.5が出ました・・・が、"Buggy"っぽいらしいです...orzhttp://grails.codehaus.org/

続 GrailsのScaffoldingとWicketプラグインの共存について

とりあえず、 class WickethelloUrlMappings { static mappings = { "/$controller/$action?/$id?" { constraints { controller( notEqual : "app" ) } } } }とすることで、 「http://localhost:8080/wickethello/app」は、"Hello World!"と表示 「http://lo…

GrailsのScaffoldingとWicketプラグインの共存について

前回からの続きです。さて、Wicketプラグインをインストールしたはいいが、従来のGrailsのScaffoldingと共存が出来れば、いろいろとおもしろい使い方が出来ると思われます。まずは、 grails-app/conf/*UrlMappings.groovy を削除。 ドメインクラスの作成(Use…

Grails 0.5のsampleアプリrecipes編

さて、こちらもbookmarksサンプル同様「grails upgrade」して「grails run-app」。 こちらは普通に動作しました。recipesサンプルですが、Grails 0.42とは違って、grails-app/domainがありません(ドメインクラスがありません)。で、どこにあるかというと、sr…

Grails 0.5のsampleアプリbookmarks

さて、Grails 0.5のsampleアプリbookmarksをrun-appしたところ、 Application is pre-Grails 0.5, please run: grails upgradeと言われてしまいます。で、 # grails upgradeとしたところ、 NOTE: Your application currently expects grails version [pre-0.…

(前回の続き)GrailsのWicketプラグイン、その4。

「さて、これからどうしよう?」ということで、ドメインクラスとの連携をやってみます。まず、ドメインクラスの作成。 # grails create-domain-class Usernameだけもつクラスに。 class User { String name }アプリケーションの起動時に、Userのインスタンス…

(前回の続き)GrailsのWicketプラグイン、その3。

動きから判断して、「Hello World!」を表示させるプラグインでは、以下のことが行われているのではないかと推察します。 WebApplication.grooyが制御(?)をしてるっぽい。 「http://localhost:8080/wickethello/app」というURLでアクセスするので、デフォルト…