S2
S2のワークフローエンジンってありましたっけ? 社内で開発中のワークフローエンジンがなかなか良いできなので、 なんらかの形で公開しようかと思っています。
MySQLのJDBCドライバはDatabaseMetadataの使用時に問題があるようです。 他のDBではどうかわかりませんが、接続文字列で指定したスキーマ以外のスキーマのメタ情報を取ろうとするとエラーが発生します。スキーマとDataSourceのマッピングを持つ、DaoMetaData…
どこで手にはいるのでしょうか?? Wikiからはなくなっているみたい。 http://mof.ath.cx/hinjya/pukiwiki.php?S2DaoMaker
S2の汎用コンポーネントのパッケージextension.componentが追加されました。 DIコンテナを使うと、コンポーネント化が促進されると感じているので、 このパッケージの追加は嬉しいです。 extension.componentには含まれないと思いますが、CsvWriter,CsvReade…
サンプルではSpringで使うときの設定しかなかったので、ここに載せておきます。 本家のページに転載してもらえればうれしいです。>ozaccの方diconの設定はこちら。 allsupport.dicon <components namespace="support" > <component class="com.ozacc.mail.impl.XMLVelocityMailBuilderImpl"> <description>メール生成クラス</description> </component> </components>
S2でメール送信にozacc-mail libraryを使いました。 これがまためちゃめちゃ便利!さくっと組み込めて、本文はもちろん、サブジェクトや宛先などにもVelocityによるテンプレート機能が使えちゃいます。もう手放せません。 前にもかいたんですけど、DIコンテ…
公開許可をいただきました。 パッケージ名をorg.seasar.dao.pagerにしたいなーとか思っていますが、 いかがでしょうか?> id:higayasuoさん
S2Daoでページャー機能をインターセプターとラッパーで実現してみました。 AOPとThreadLocalで透過的にページング処理ができます。 プロジェクトで了解が出ましたら、ぜひ公開したいと思っています。 ・ページャの検索条件を保持するPagerConditionインター…
S2Dao投入に向けて検証中です。 せっかくなので、発見したことを記録していきます。まず、抽象クラスに対するS2Daoの適用はオッケーでした。素晴らしい。 以下が、サンプルになります。 BookMaintenanceDaoImplクラスは抽象クラスで、 BookMaintenanceDaoイ…
KijimunaがSourceForge.jpにあがるそうなので、さっそくSourceForge.jpのアカウントをagataで取りました。シーサー組として、お手伝いさせていただきます。ほそさんお願いします。 (ほそさんこの日記みてるのかなぁ・・・)
id:makotanさんの日記に、DIを使うとデザパタの利用頻度が減るというエントリーがありました。 確かにデザパタを使う機会、減っちゃいますね。ファクトリやSingletonはコードで書く機会が減っちゃいそうです。 ただ、デザパタの利点を知っておかないと、DIを…
http://www.nulab.co.jp/~agata/s2-struts-dao-example-1.0.1.zip S2Struts1.0.5に対応したサンプルです。 Actionをdicon定義に書く必要がなくなりました。 これでかなりS2Strutsが使いやすくなったと思います。] 以前の定義はAction.dicon.bakで残していま…
(注:下のほうにこれより新しい1.0.1を置いています!)http://www.nulab.co.jp/~agata/s2-struts-dao-example.zip S2+S2Struts+S2Daoのサンプルです。 EclipseのTomcat PluginプロジェクトをそのままZIPにしています。 バージョンは、S2-2.0.13、S2Struts1.0…
前にWEB+DB PRESSのPicoContainerの記事で使ったサンプルコードの S2Struts + S2Dao版を作っています。 もうちょい整理したら、公開します。いろいろ試していると、いろいろアイディアが出てくるものです。 (1)S2StrutsのActionの生成 S2StrutsではActionク…
単純に楽しかったです。 ひがさん、はぶさん、うえやまさんその他の方々もお疲れ様でした。 今度はこっちが東京までいきますよ。 熱い気持ちを忘れないうちに、さっそく↓を作っています。
またまた、忙しくなってきたので、しばらくお預けです。 からさわぎ@福岡が終わるころには、余裕ができるとおもうので、 そのころに椅子、kijimunaを再開したいと思います。 ほんとはすぐにでもやりたいんですけどねぇ。
ちょっと前の日記に「設定ファイルでプロパティに定数を渡すことが多かった」と書きましたが、正確には「type safe Enum」な定数クラスの配列を渡すことが多かったです。これは、ストラテジパターンに近い使い方になっています。中でifやswitchで分岐してい…
以前、この日記でもお伝えしたプロジェクトの続報です。 本日、無事動作するソフトウェアを納品して参りました。 S2を使ったプロジェクトが成功して終わりそうです。。 id:masataka_kさんがここで言われているとおり、 S2の効果を誇張する必要もなく、身構え…
[WSSR0008]XXXのプロパティ(row)が見つからないので設定をスキップします S2でプロパティをautoBindingできなかったときに、以上のようなメッセージが表示されます。開発者には便利なんですが、ユーザはこのメッセージを見ると心配するようです。 (今回のア…
いろいろな.diconファイルを書いたのでサンプルとして載せてみます。配列をPropertyにセット new String[]{"SAY NO MORE","LARK","FATHOMS DEEP","ハート・ストリングス"} 配列をListとしてPropertyにセット @java.util.Arrays@asList(new String[]{"SAY NO …
(ひがやすおの日記より) なるほど、AOPでばっちりですね! さっそく書き直しました。ちょっとだけAOP脳が発達したような気がします。 // 例外ハンドリングインターセプタ public class ThrowsLoggingInterceptor extends ThrowsInterceptor { private static…
で、枯らすためにというわけではないんですけど、実案件でS2使用中です。 プロジェクトは5合目ですが、中間報告を。1.S2は易しい プロジェクトは3名です。S2はおろかDIコンテナのことも説明せずに進んでいました。 ただ「このdiconファイルでいろんな設定…
S2はもちろん、DI/IoCコンテナの考え方自体1年ちょっとぐらいなんで、 枯れてはいないでしょうね。 しかし、夜明け前の予感です。
サービスの進行状況をプログレスバーで表示したいときは、 サービスのメソッドにリスナーを渡す方法で良いのだろうか?? try { Service service = (Service)container.getComponent(Service.class); service.export(item, this); // thisはリスナー } catch…
(http://d.hatena.ne.jp/higayasuo/20040608より)今のプロジェクトでも検査例外は一切投げていません。 その代わりサービスを呼び出す場所で全ての例外をキャッチしています。 (ちなみにGUIアプリです) try { Service service = (Service)container.getCom…
id:higayasuoさんの日記より 次からがいよいよ業務ロジックの分析です。 ここでは2つの選択肢があります。 サービスに業務ロジックをマッピングする方法と エンティティに業務ロジックをマッピングする方法です。 どちらを選ぶのかは好みなのですが、開発者…
S2Plugin 0.0.3 プロパティ名の補完を実装してみました。 ★の位置でCtrl+Spaceを押すとjava.util.Dateのプロパティの一覧(セッター)が表示されます。 ただし、昨日の日記にも書いていますが、上記のようにとの間に改行がないと補完が効きません。今後この…
Antのエディタをベースにできるかな?っておもっていたら、 Antのエディタって以外とバギーな感じです。 例えば、次のようなパターンの時に★の位置で補完を実行した場合、 候補として出現する要素がAとBで異なります。Aパターン ★ Bパターン ★ これは、補完…
S2 Remotingを使ってみようということで、調べましたが、 まだリリースには含まれていないんですね。 限りなく透明な分散サービス期待しています!
S2設定ファイルのリファクタリング機能とかどうでしょう? name属性がないコンポーネントにname属性の自動生成 設定ファイルの分割リファクタリング name属性の名前の置換 やりだすときりがないので、 簡単に実装できて効果的なものは実装できたらと思います…