羽根屋の会をしました

富美菊酒造の女将さんを招いて、羽根屋の会をしました。

富美菊酒造

羽根屋との出会いは、五反田のでり坊(今はもうない)でやっていた日本酒ブラインド試飲会で、友人が持ってきた時です。1年半くらい前かな。この会は各季節ごとにやっていて、だいたい10数種類あるなかで、ぶっちぎりの1位をとりました。私も羽根屋がすごく気に入り、どこで入手できるのか調べたら、職場に近い、人形町の新川屋佐々木酒店さんで扱っていました。

新川屋佐々木酒店

五反田のでり坊は店長の好意で日本酒を持ち込ませてもらえていたので、佐々木酒店でお酒を買っていました。去年の3月頃に出た槽場直汲みが非常に美味しく、これをよく持って行っていました。あの大地震の後で心細くなっていたのもあったでしょう。家に返っても一人だと心細いため、人を求めて週に2,3日行くようになっていました。でり坊に行けば、かならず誰か友だちが飲んでいるからです。いないときもありますが、他に客がいないときは店長が相手をしてくれていたので、寂しい思いをする心配がないのです。
日々飲んだり、もともとでり坊で友だちがやっていたブラインド試飲会、うまいもの会などで飲んでる後、友人の一人が自分ひとりで1つの蔵の色んな日本酒をそろえて飲む会を企画してくれました。そのときは醸し人九平次を10数種類用意してくれました。私もそのアイデアをマネさせて頂き、鳳凰美田手取川、鍋島の会をやらせてもらいました。ただ、これらは自分が酒屋でお酒を買って持ってきているだけで、よく飲み屋である、蔵人を囲む会ではありませんでした。そこで、よく蔵人を囲む会を企画されている佐々木酒店さんに、蔵人を呼ぶにはどうすればいいか尋ねたところ、佐々木酒店さんが企画してくださると言って下さったので、お願いすることにしました。会場はもちろん、でり坊!なのですが、去年の夏ごろからはせがわ酒店が羽根屋を扱いだして、ただでさえ数の少ない羽根屋が入手しづらく、お酒がそろっている時期を調整していたら、今年の1月にでり坊五反田店が閉店することになったため、会が実施できるか怪しくなりました。

余談ですが、この店長は今別の店で最近働き出したため、会いたいときには会えるようになりました。
かもすや酒店

さて、別の会場を用意しなければならなくなったのですが、実はあてが一つだけありました。それが、日本橋 蛇の市本店です。こことの出会いは自宅の近所にある(というのは少し離れてるけど)矢島酒店さんからの紹介でした。
私は日本酒を飲みだして4年くらいになるのですが、最初はお酒が一切ダメで、果実酒がなんとか飲めるくらいでした。当時人形町で一緒に仕事をしていた方(現在はボス)に飲みに誘って頂いたときにそれを言うと、「ふざけんな、馬鹿。お前が知らないだけだ。」と怒られ飲みに行ったのが、うぽっぽという店で、そのとき最初に飲んだ日本酒が、鳳凰美田 かすみ生です。これが非常に美味しくて、あまりにも美味しくて、「私が間違っていました」と謝ったくらいです。
それから暫く日本酒を飲み、自分でも買おうと思って最初に手を出したのが、最初に美味しいと思った鳳凰美田で、これを扱っている店を探したら、矢島酒店さんを見つけました。昨年、そこで友人と行ったときに、而今というお酒に出会いました。それまで而今は知らなかったのですが、友人が「おいしいよ」と言っていたので1本もらって飲んだら、とても美味しかったので、その後何本か購入させてもらいました。
暫くして、去年末頃、twitterfacebookだかで矢島さんが而今の八反錦を日本橋の蛇の市さんに卸したという発言をしていて、いきなり1升買いに行く前に飲めるのなら飲んでみようという軽い気持ちと、以前から寿司飲みをしたかったけど日本酒が微妙なのが多く、矢島酒店さんが卸しているなら無茶なお酒はないだろうという気持ちで行きました。
そのとき、矢島酒店から話を聞いて来たとか、店長が羽根屋が好きだけどどこで入手できるか分からないというので、佐々木酒店さんで扱ってるよ、と紹介したり、店長の友人がやられてる蔵の話など、色んな話をした後、通い続けるようになりました。
そのとき、まだでり坊の閉店が公表されてないときに、羽根屋の会の話をしてたら、「うちでもやってよー」と言われていたのを思い出して、「かわりに」という言い方は申し訳ないけれど、この店でやらせてもらえないかとお願いしたところ、二つ返事で了承してくれたのです。

矢島酒店
日本橋 蛇の市本店
うぽっぽ

あとはもう、私はどうしたらいいのか分からなかったので、すべてお任せしました。丸投げといってもいいくらいかもしれません。だいたいの金額だけ決めました。西日暮里の稲毛屋でやられてる会が6000円だったので、同額にしてもらいました(今はうなぎの高騰で6500円になってますが)。そうするとだいたい、お酒2000円、料理4000円。羽根屋は比較的安いお酒が多いのですが、こういう会だし、けど人数が少ないとお酒がそろえられないので、佐々木酒店さんと蛇の市さんでも募集してもらうようにしました。そうすると、すぐに満席になりました。
蛇の市でこういう会をするとき、2階を貸切で行うので26人になります。私は14人枠をとっておいてもらったのですが、13人しか集められず、申し訳ないと思って昨日行ったら26人いて、驚きました。
料理はお寿司を入れなければ、結構良いものがでるんだというのは、先日の辨天娘の会で学びました。寿司屋だけど、コース料理として江戸前料理も扱っているそうで、それをメインにお願いしました。


さて、先ほど13人しか集められなかったと書きましたが、それもなかなか大変でした。でり坊で飲んでる仲間を考えればもっと集まっていただろうけど会場はでり坊ではない。また、他の日本酒のつながりの人もいたけど、最近お仕事が忙しいようでこれそうにない。ましてや、寿司屋で、場所が日本橋です。それだけで何か別次元の場所だと思っている方もいるようで、思ったほど集まらず(店から声をかけてもらえば簡単に集まったようですが)。私はtwitterでは飲んでるお酒ばかりをつぶやいてるのでフォロワーにはそういう人が多いのですが、そういう人たちに声を掛けても結局参加者は一人。とはいえ、この一人も非常におもしろいつながりで、新宿に行ったときに空き時間があったので、インフラエンジニア双六を買うために寄った同人誌を扱ってる店で日本酒同人誌を買って、twitterでつぶやいたときにフォローしあった方なのです。


というわけで、前書き終わり。
無事に会を開催することができました。


今回出たお酒は次の通り。

  • 大吟醸 袋吊り斗瓶囲い(金沢国税局優等賞受賞酒)
  • 大吟醸
  • 大吟醸にごり
  • 純吟 無濾過中原酒 八年氷温熟成(ぬる燗)
  • 純米大吟醸
  • 純吟 煌火
  • 純吟 槽場直汲み無濾過生
  • 純吟 槽搾り
  • 純米 中汲み
  • 純米 中汲み 原酒
  • 純米 五年 原酒
  • 特吟 中汲み

料理は次の通り。

  • 先付:蚕豆豆腐
  • 向付:桜鯛の薄造り もみじポン酢
  • 酒肴八寸盛り:
    • 野蒜の共味噌和え
    • 法蓮草の出汁巻玉子
    • 稚鮎の天婦羅
    • 春菊ソース
    • たらの芽とサーモン
    • 山葵黄身酢
    • 筍の土佐煮
    • 細魚と海老の小袖鮨
  • 焼物:鰆の西京焼き
  • 鮨:春のばらちらし
  • 甘味:抹茶プリン

優等賞受賞酒、にごりはやっぱり期待通り美味しいお酒でした。純米大吟醸は悪くはないけど、いつもの普通酒が好きかな。
煌火は完全に五百万石に移行するためのお酒だそうです。富の香はもともと少ないうえ、昨年の震災でなかなか仕入れづらくなったという事情もあるそうです。
槽場直汲みは去年の方が好きだったけど、もともとこの味が目指していたもので、1,2年前からそれをうまく出せずに試行錯誤していたようです。私は去年の方が好きなのですが、料理に合わせるならこの味もとても良いと思います。
古酒は5年も8年も普通流通しないお酒です。数本流通したそうですが、昔からの付き合いがある酒屋に数本だけで、蔵人が参加する会のときに持ってきてもらえるかも?というレア酒です。去年末、稲毛屋さんで羽根屋の会の時になかったので、なんでないのか聞いたのですが、まさかそれで出てくるとは・・・

料理は酒肴八寸盛りがとてもおもしろかったです。先日の辨天娘の会では酒龍馬みたく、3x3の升目皿に9品盛りでしたが、今回は何もないお皿と料理をばらばらに用意され、それを各自が自分のお皿に盛り付ける、というものでした。みんな、真面目に盛り付けたり、無難においてたので、あえて私はお笑い担当で盛り付けました。こういうのもおもしろいですね。
みんながどのような盛り付けをしたのかは後日、蛇の市さんがアップしてくれるでしょう。ナンバーワンは誰かな?


当日の状況は佐々木酒店さんがUstreamで配信してくれています。佐々木酒店さんのホームページでみれるので、どんなことを話していたか思い出せないかたは見てください。

ALMiniumを導入して1週間たちました

色々ありました。
Redmine 1.4.0も出ましたが、プラグインがいくつか動かないとの報告をしてくれた方がいたので、見送ってます。

フォーラムがロックできない

これはALMiniumの問題でもRedmineの問題でもないと思います。
というのも、職場ではできないのですが、自宅の検証環境ではロック出来たからです。先日書いた「プロジェクト作成時にリポジトリを作成できない」と同じパターンだと思っています。
なんだかよく分からないけど、継続調査中です。

バナーが無視される

ALMiniumに移行した際の注意点をニュースで書きましたが、ニュースはトップページに表示されて見てもらえないので、ヘッダーにニュースへのリンクとメッセージを書きましたが、誰も見てくれず、みんな個別に問い合わせて来ました。
連絡手段を変えたことを伝えずにいきなりやってみた私にも問題はあるのですが、誰も気にしないのもどうなんだろう・・・(結構幅取ってるはずなのに)
けれど、画像を貼り付けたら、やっぱりうざいようです。
なので、連絡手段はこれまでどおり。バナーはフッターにして毎日画像を張り替えてます。みんなが「今日のバナーは何かな?」って1回はチェックしてくれるような状況作り中です。

アバター祭り

今までBitnami Redmineプラグインは殆ど入れなかったので、アバターを利用したのは今回が初めてです。手始めに私のプロフィールのアイコンを設定しました。
翌朝出社するとみんなのアバターが設定されてたので、「みんな乗り気だなあ」と思ってたら、みんな、「なにこれ?」って驚いてて、「えっ!?」ってなりました。どうやら同僚が管理者でログインして他のメンバーのアバターを設定したようです。
それが功をなしたのか、アバターに興味を持って、自分のアバター写真を用意して設定するという流れができました。
まあ、楽しむのも大切ですね。


他は特に変わらず。

TFSUG 第五回勉強会に参加しました

TFSUG #5 ウォーターフォールからアジャイル、リーンへ に行ってました。

TFS de アジャイルを書いたわけ
http://speakerdeck.com/u/libaty/p/5tfsug-wfagile
アジャイル開発から継続的デリバリーへ
http://www.slideshare.net/shibao800/ss-12537826


TFSUG勉強会は今回初参加ですが、本当にTFS関係なく発表するのですね。
今回は、まだアジャイル開発を始めたばかりの@libatyさんのプロジェクトを始めるまでの活動と、継続的デリバリができるまで進めた@shibao800さんのやられてきた活動の紹介でした。

継続的デリバリって、アジャイル開発でできてるものだと思ってたので、「アジャイルの次は」って言い方に少し違和感を感じましたが、イテレーションごとに成長するプロジェクトのフェーズに名前をつけるのなら、なるほど、と思いました。

むかし、Extream(なに言ってるんだこいつ状態)だったものは、考え方が整った私たちと、私たちの思考の妨げをさせない便利なツールの登場により、当然のことになっていると感じましたが、これについてうまく文章をまとめられないので説明は省きます。

ALMはツールベンダから生まれた言葉だと以前聞きましたが、TFSはツールでありながら、TFSUGはツールの話をしないのがおもしろかったです。むしろ、ALMは、開発のサイクルをつくること、そのサイクルをまわすために、局所にどのようなツールを用意すれば良いかを考えるためのフレームワークとして捉えた方がよいかもしれません。

日本酒専用冷蔵庫を導入して1年以上たった

最近同じものを買ったという友人がいたので、とりあえず自分のまとめ。

日本酒は季節ものが多い。美味しい日本酒だとすぐ売り切れて、また来年この時期に、は当然のこと。だけど私は飲みたいときに飲みたくて、普通の冷蔵庫もいっぱいになったので、1年ちょっと前に日本酒用に冷蔵庫を買いました。

買ったのは、レマコム RCS-100 です。
http://www.remacom.com/-p-86.html?cPath=12

購入基準

透明ガラスで外から見れるのは良いけど、私はそれはそこまで気にしてませんでした。普通の冷蔵庫でもよかったのです。ただ、普通の冷蔵庫だと、1升瓶を縦に置くのが難しいです。大きな冷蔵庫ならば余裕で置けるでしょうけど、そうすると予算オーバーなのでした。金額、サイズを考えると、これ。
電気代の計算は分からないのでしてませんが、請求額が跳ね上がることはありませんでした。


容量

上記ページだと12升縦置きできると書いてますが、難しいです。瓶の形状にもよるのですが、1升瓶を縦置きはかなりきつきつです。置けないことはないのですが、他の方のブログで瓶が落ちて割れた、というのがあったので怖くてできません。
私の使い方はこうです。上記ページの『棚段数3段(高さ調節可能)』の欄の写真を本に書きます。

  • フルーツボックスは取り外しています。ここには、ビールや1合瓶を置いたり、4合瓶を横に置いています。
  • 一番下の③のスライドを少し手前にスライドして設置し、ダンボールを敷いています。その上に1升瓶を9本置いてます。
  • 上の①、②のスライドは丁度良い位置に設置してます。そこに、4合瓶を横に置いています。

基本的に日本酒は縦に置いたほうがよいのですが、横においても大丈夫なやつもあるので、そこらへんは自分で調整します。
これでだいたい13升くらいかな。


温度

0〜7のメモリがあります。今時期は1にしてます。夏は2〜3です。買ったばかりのときは温度を下げるために4くらいにしました。
ちゃんと冷やしたいのは奥に、普通に冷やす程度なら手前におく、くらいで大丈夫です。メモリ1でも奥は少し霜ができます。けどすぐ溶けるので、次の2箇所に注意が必要です。

  • 奥に置いた日本酒のラベルがべちょべちょに濡れます。私は防止策として、購入時につけてくれるエアパッキン(ぷちぷち)を着けたまま入れます。そういうのが無いときは、紙袋かビニール袋に入れて置きます。真ん中は大丈夫です。
  • 底のフルーツボックスの位置に水が落ちてきます。水浸しになるので、フルーツボックスは取っておいたほうが良いです。底に溝があり傾斜になっているので、そこに水が流れるように仕向けます。そうすれば、その位置に置いたものはあまり濡れずに済みます。

他の方のブログで、扉のガラスが結露する、という方がいます。夏場は確かに曇ります。なので、底に溜まる水の件も含めて、雑巾を側に用意しておくと便利です。だいたい週に1度くらい拭きます。冬場は全然曇りません。

ALMiniumを導入したこと

職場でALMiniumを導入しました。
導入までに障害になったことについて(未解決のものが多いですが)。


導入の提案

これまでBitnamiのRedmine仮想イメージを使っていました。それを1年以上使い続けているので、「何で変える必要があるの?」と言われます。私はこれに対して、次のように説明しました。

  • BitnamiはOSがOpenSUSE, Ubntuである。他のマシンはすべてCentOSなので、複数のOSの仕組みを理解しておかねばならず、技術的負債がある。
  • BitnamiにはRedmine+Apache+Subversion+MySQLだけを動かす設定になっている。たとえば、tarがない、zipもない、YaST(OpenSUSEのパッケージマネージャ)もない、gccもない、・・・など。Redmineプラグインを入れたいとき、他のサーバで取得・解凍して持ってきて、インストールしようとすると必要なgemがないため、gemをとってくるのだが、そのために別のgemが必要だったり、最新バージョンだと動かなかったりするので、また別サーバでgemを取得してこなければならなかった、ということがあった。そのため、プラグインのインストールが困難だし、Subversionを最新版にしたいけど、コンパイラがないためビルドできなかったりした。
  • ALMiniumはお勧めのプラグインを積極的に導入してくれている。
  • ALMiniumはプラグインを動作を保証してくれている。これは、動作するgemのバージョンを意識する必要はなくなる、という意味。また、色んな人が利用、不具合修正をしてくれていることも含む。
  • 以上より、ALMiniumにすれば運用コスト(人が悩む時間)を抑えることができる。


すでにMySQLがある環境だとインストールが失敗する

ALMiniumはデフォルトでは、MySQLをインストールして、パスワード無しの状態でデータベースを作ります。なので、あらかじめMySQLをインストールして、パスワードなしの接続を禁止にすると、データベースがつくれません。
これについては真面目に調べてません。
自分の検証環境にお試しで入れようとしてこの問題に当たりましたが、導入先はまっさらなOSでMySQLがないので、大丈夫でした。
が、そのあとパスワード設定をするので、アップデートするときを考えると、調べておかねばなりません。
ひとまず、alminiumユーザ(ALMiniumの管理ユーザ?)は追加しました。


プロジェクト作成時にリポジトリを作成できない

ALMiniumはRedmine SCMプラグインをインストールしてあるため、プロジェクト作成時にプロジェクト識別子でリポジトリを作成されます。
自分の検証環境だとプロジェクト作成画面で、SCMの選択コンボボックスが表示されるのですが、職場では表示されず、ログファイルに作成失敗のエラーログが出力されてました。proxyのせい?(HTTP_PROXYは設定しているのですが・・・)
今回は前環境の移行でSubversionだったので、コマンドラインでダンプファイルをロードさせればよかったのですが、今後のことを考えると、調べておきたいです。


プロジェクト識別子とリポジトリ名が異なるとhttpアクセスできない

これも解決できてません。もともとsshアクセスだったので、sshで代替しました。
例えば、以前の環境で common_utility というリポジトリを作りました。
これをRedmineリポジトリブラウザで参照するためだめのプロジェクトを作りました。プロジェクト識別子に"_"は使えないので、common-utility にしました。
以前の環境ではsshアクセスだったので気にしなかったのですが、SCMプラグインが提供するhttpアクセスの設定は、リポジトリURLを参照するのではなく、プロジェクト識別子でリポジトリを参照していたのです。
それでも何らかの設定があると思って調べていたのですが結局分からず終いです。


Lightboxプラグインが外部アクセスする

Lightboxプラグインというのが入っています。これは、jQueryを利用して、画像ファイルを拡大表示してくれるプラグインです。
私は使ったことないので他はどうか知らないのですが、Redmineプラグインではgoogleにアクセスして参照しているようです。
そのため、Proxyが効いてる職場ではフォーラム画面を表示したときに認証ダイアログが表示されるということがありました。私の職場環境では表示されなかったのですが、他の人では表示されました。
一度認証してしまえば問題ないのですが、わりと厳しい職場なので、そういうよくわからないことが起こるとすごく気にするのです。
このプラグインは今の職場では必要なさそうだったので、削除しました。



セットアップは結構前から準備してて、今日ようやく導入できたから勢いで書いたのですが、書いてみると結構アバウトなの多いですね。今後の課題にします。

ALMとDevOpsについて学んだこと

社内勉強会で講師を招いた話なので、具体的な部分はぼかします。

内容は、ALMはツール依りの話だし、DevOpsはクラウドやソーシャル依りのAgilerの話だけど、エンタープライズ系でうまくまわすためにはどうすればいいか、現状を改善するために何を考えるべきか、というもの。
私の立ち位置は、一般企業の情報システム部が自分たちで自社システムの開発ができるよう、環境を整えたり、やり方を議論したりするものです(開発もしてます)。

ALMについて
SDLCが開発のライフサイクルに焦点を当てているなら、ALMはアプリケーションのライフサイクルに焦点を当てています。アプリケーションのライフサイクルは、企画から開発、利用をして、利用されなくなるまでです。利用されなくなるまで、開発は継続的に行われます。

DevOpsについて
ALMと似ているけど異なる視点で、運用と開発は表裏一体であり、運用からのフィードバックも受けて開発は行われ続けるのだから、それを意識したものになっていくというものでした。その目指す先は、Programableな運用作業はすべて開発者が自働化(※)して、人の手でしかできないところにだけを運用担当がする、ということでした。Jenkinsの川口さんの発言に似てますね。
※誤字ではありません

Agile ALMについて
ALMはツールをもとに展開された話ですが、アプリケーションのライフサイクルに当てた考え方は、アジャイルの考え方に近いものがあります。XPで思考の転換や矯正をして、Scrumなどでプロジェクトを運営していきますが、プログラマを含めたステークホルダーがそれらをうまくまわしていくための環境づくりは非常に大きな役割になります。その環境を構成する要素(ツール)には何が必要でどうまわしていくか、という話がAgile ALMです。

これについての最低限の構成は次の図となります。

迷ったら、 ALMiniumJenkins を用意すれば良いでしょう。ALMiniumはITS/BTSVCS, JenkinsはBuild Machineに当てはまります。

以下、考察
とりあえずこの構成は最初から作っておくと良いでしょう(ステージング環境と本番環境はあとでも良いですが)。その理由は2つあります。

ひとつは、最初から用意するのと比べ、途中で別のものを導入したりツールを変更することの方が負担が大きいからです。
現在の私の状況では、各要素は用意していたけれど、VCSに集中型を利用したため、Build Machineからのバグ報告やdeliveryがうまく回らない(手動作業が多い)ようになっています。分散型を入れれば即解決するわけではありませんが、最初から入れておけば「こういうものだ」と言えたのに、「どうして変えるべきか」を理解してもらわなければなりません(※)。
※この「うまく回らない」は関与しない人にも説明が必要なのですが、関与しないから「うまく回っている」ように見えてしまうのです。

もうひとつは、いじれる環境があることの利点です。
アジャイルで製品を顧客に早く提供することは、早い段階で問題や要望を挙げやすくする状況をつくることができます。これは、ツールとプロジェクトメンバの関係にも当てはまります。
たとえば、プロジェクトメンバが上長に作業を報告するのに「こんなふうな情報を管理(※)したい」と思ったときに、今までは何か大変な作業をやっていたのが、打ち合わせ時に画面をみながらやっていると、「こういうことはできないか」と事前に言ってくれるようになりました。ITSにRedmineTracを使ってる場合、設定やプラグインの利用で解決できることが分かったので、不便だと思ったことは言ってもよいということを教えてくれます。
また、Build MachineにJenkinsを使っていれば、製品の品質が悪いなと思ったときにプラグインを入れれば、なんらかの事実がすぐに明らかなになります。原因究明に時間をかけたり、保留、なんて事態に陥ることはありません。
プロジェクトチームがプロジェクトとともに成長して「こういうことができたらもっとうまくまわせるのに」と思ったことを補助するために、思ったときにすぐ試せる環境(ツール)があらかじめ揃えられているのは、思考停止を回避する策になります(☆)。
※他に良い言葉が思いつかなかったので、この言葉を使います
プログラマはわりと、揃っていようがいまいが、自分で環境作って検証して提案してきますが、プロジェクトメンバはプログラマだけではないのです

まとめ
自分で「こういうサイクルができると良いよね」って図を書いて、ここはどうしよう、ああしようって考えるといいと思います(まとまってない)。

JavaライブラリはGroovyから使ったほうが良いと思ったこと

設計は主にastahを使っているので、便利に使うためにastah*APIを使う機会が多いです。astahはJavaなので今まではJavaで書いてましたが、最近Groovyを本格的に学びだして魅力がわかってきたし、astahはJavaなのでせっかくだから、Groovyで書いてみることにしました。

今日一番良かったのは、配列操作。
astahはプロジェクトツリーを配列で持っています。たとえば、あるパッケージ(フォルダ)上にある図を取得するためには、Javaではこう書きます。

IPackage pkg = ...;
IDiagram[] diagrams = pkg.getDiagrams();

このファイルの書くフォルダの図の名前リストを作ろうとすると、こんなかんじになります。

List<IDiagram> collection = new ArrayList<>();
collection.addAll(Arrays.asList(diagrams)); //繰り返し行う

Javaだと配列は要素数が固定なのでコレクションクラスに変換して可変状態にして処理をするのを自分で書かなければいけませんが、Groovyはそれらを判断してやってくれます。

def collection = []
collection += diagrams //繰り返し行う

さらに、これを名前とオブジェクトのリストを作ろうと思うと、これだけですみます。

def collection = []
pkg.getDiagrams().each {
  collection << [it.name : it] //繰り返し行う
}

クラス図だけのリストにしたい場合はこうですね。
図の名前を取得するためにはgetNameメソッドを使ってきましたが、IDiagramのスーパークラスにname属性があるので、nameを指定すればgetterが動作します。
この例でswitch文を使うのは冗長ですが、これも今回覚えた書き方で、astahには10以上の図があるので、もっとたくさんあるときは有効だと思います。

def collection = []
pkg.getDiagrams().findAll{ isClassDiagram(it) }.each {
  collection << [it.name : it] //繰り返し行う
}
def isClassDiagram(def value) {
  switch(value) {
  case IActivityDiagram: true
    break
  default: false
  }
}

今回は既存のJavaのライブラリをGroovyから呼び出して楽をしました。今回のことで思ったのは、既存のJavaシステムがあって、それを拡張する案件があったとき、Groovyを導入するチャンスではないか、ということです。