java
さっきひがさんのエントリをみてちょっと驚いた。 S2TigerにSingletonS2Containerを追加しました。キャスト無しでコンポーネントを取得できるようになります。 Hoge hoge = SingletonS2Container.getComponent(Hoge.class); Hoge hoge2 = SingletonS2Contain…
public @interface Hoge { String fromStaticMethod = String.valueOf(100); // staticメソッドを呼べる String fromStaticMethodValue(); //String fromStaticMethod() default String.valueOf(100); // 直接はNG } 訂正 デフォルト値を別の属性を使って条…
どうも。他力本願なnobeansです。 S2AOP でエンハンスされたクラスは元のクラスのサブクラスなので,invoke.getThis().getClass().getSuperclass().getAnnotations() で取れるはずです commentd by id:koichik ありがとうございます!早速試してみました。 L…
んですが、どうやったらいいんでしょうかね。使える材料は、MethodInvocationのインスタンスのみ。 LOG.debug(invoke.getMethod().getName()); LOG.debug(Arrays.asList(invoke.getMethod().getAnnotations()));とメソッドのアノテーションはふつうにとれま…
ビンゴ。 C:\Documents and Settings\\.m2\repository\org\apache\maven\plugins の下にあったmaven-eclipse-pluginディレクトリを削除したら、mvn eclipse:eclipseが成功しました。 NWの接続がおかしいときに半端なファイルが残ったのが原因のようです。 エ…
C:\Documents and Settings\\.m2 配下に以前試したときの古いjarが残っていたのが原因だったみたいです。 C:\Documents and Settings\\.m2 を削除してから実行したらSUCCESSFULになりました。 ふぅ。しかも、何の苦労もなく mvn eclipse:eclipse も通りまし…
ネット上の情報見るとMaven2でも大して苦労ナシにeclipse:eclipseを使えているようなんですが、ウチの環境だとなぜか [ERROR] BUILD ERROR [INFO] ---------------------------------------------------------------------------- [INFO] The plugin 'org.ap…
φ(。_。)メモメモ。 【玄人】プロジェクト管理ツールApache Maven【2.0登場】より。 58 :デフォルトの名無しさん :2006/01/21(土) 14:02:33 >>55 じゃ、おれがチュートリアルの説明をしてやる。 まずEclipseのworkspaceディレクトリにコマンドラインで移動。 そこで m…
デフォルトでは C:\Documents and Settings\\.m2 配下なのはいいんですが、HOME環境変数を設定しても変わってくれません。なんで?cygwinつかってるので、cygwin上での /home//.m2 にあたるディレクトリに変更したいんですけど。 しょうがないからシンボリッ…
単にリポジトリ側のNWの問題だったようです。さっきやってみたら、repo1の方も接続できて結構進みました。 まだ、↓でこけるんですけど、それでもだいぶローカルリポジトリにたまりました。 [INFO] --------------------------------------------------------…
ちょっとMaven2に手を出してみようかと思って、簡単なサンプルを動かそうとしたんですが、strutsのdependencies解決すらまともに動きません。 [INFO] ---------------------------------------------------------------------------- [ERROR] BUILD ERROR [I…
してみたところ、S2.3.2 + S2Struts1.2RC2で作っていたサンプルJPetstoreで org.seasar.framework.container.ComponentNotFoundRuntimeException: [ESSR0046]コンポーネント(mainPage)が見つかりません org.seasar.framework.container.impl.S2ContainerBeha…
ぶり2をSeasarファウンデーションにて公開します 富野由悠季の新作を待ち続けるブログ(仮) キタ━━━━(゚∀゚)━━━━ッ!!Seasar界隈で「ぶり」という謎のフローエンジンの存在を耳にしてから、ずっと待っていたのです。 非常にありがたいのです。 是非業務で使い倒…
// 旧実装 public class Hoge { public void invokeFoo() { Foo foo = new Foo(); foo.executeFoo(); } } public class Foo { public void executeFoo() { ... } }というクラスは、DIconを使うことで↓こうなります。 // DI実装 public class Hoge { private …
今までTomcatのreloadable="true"を使ってたけど、コンパイルするたびにセッション状態がクリアされたり、初期化処理が再度走ったりと結構たるかったのが、Hotswapを使うと待ち時間、なんとゼロ!! reloadable="false"+Seasar hotswap。すげー。
timestampという名前のTimestamp型のフィールドをJavaBeansに用意して、insert時の時間情報をそのまま登録させようとしているのですが、insert後のselectで時間情報が00:00:00になってしまう事象が発生していることに気づきました。 で、調査してみたんです…
長いのでとりあえず仮称でPdStrutsと書いてみます。ぐぐってもヒットしないので、一応ユニークみたいです。だいぶ固まったのでPdStrutsの概要をぼちぼちと書いてみます。 大変なのであまり細かいことは書かない方向で。 基本アーキテクチャ ページドリブンで…
完全にInterfaceとその実装クラスとが1対1で対応するような、たとえばlogic系パッケージだったら hoge.logic hoge.logic.impl みたいにimplパッケージと無印パッケージで分けて管理しやすいし、特に悩まないです。ですが、自作interface、その実装(〜Impl)、…
なんかとりあえず動くものができたっぽい。 セキュリティ的にはまだ穴がいっぱいなんだけど。 基本アーキテクチャは結構シンプルでいい感じ。
jpetstoreを改造しながらnobeans版Page-Driven Strutsの実装を探っているんですが、 ここ数日、CartPageでの注文量の更新処理でActionの実行前にNullPointerExceptionになってしまうエラーで悩んでいました。 java.lang.NullPointerException org.apache.str…
OzStrutsにインスパイアされて作成中のOzJpetstore改ですが、かなり書き換わってます。 JSPの構成はほぼ一緒なのでUI的には変わらないのですが、何かしら手が入っているので実装面ではかなりの違いです。 Page-DrivenでStrutsを使うという思想は一緒なんです…
おめでとうございます。 koichikさんのブログで気がついたんですが、RC2から結構変わったところがあるんですねぇ。今気になっているのはhotswap。何気に素敵です。 S2Containerインスタンス単位でhotswapに対応するかどうかを制御できるようになるともっとう…
どうもうまい方法を見つけたみたいです。 いい感じにPojoなPageクラスに置き換わっていっています。メインの実装クラスは S2Struts用の置換コンポーネント×3 Page遷移に関するコンポーネント×3〜4 程度です。もちょっと整理できたら詳しく書いてみたいと思い…
ここ最近、OsStrutsのサンプルのjpetstoreのS2 + S2Daoに置き換える作業をしてました。 なんとか無事に下位レイヤをS2に置き換えることができました。 時間がかかったのは、まとまった時間をとりづらい子持ち日曜プログラマの悲しさと、S2Dao/S2Unitに不慣れ…
DataSet expected = readXls("期待値.xls"); assertEquals(expected, reload(expect)); // (1)現在のDBの状態と期待値を比較 assertEquals(expected, RESULT_BEAN); // (2)取得したBeanのプロパティを期待値と比較 assertEquals(expected, RESULT_BEAN_LIST)…
引き続きメモ。 Pure Interface戦略 S2Daoのための定数アノテーションなどをinterfaceに書くと、クライアントクラスから見て不要なはずの定数にアクセスできたり、ちょっと気持ち悪いところもあります。 S2Daoではなく別のO/Rマッパーを使ったり、JDBCで実装…
自分用メモ。 戻り値がbooleanのメソッドの振る舞い public boolean hasRecord();のように戻り値がbooleanのメソッドは、SQLの実行結果が0ならfalse、0以外はtrueとなるようです。 SQLをcount(*)で書けばレコードが存在するかどうかのチェックを簡単に実現で…
interface HogeDao { Hoge findByFooId(String fooId); Hoge findByBarId(String barId); }のようなインタフェースに対して、findByFooId()はS2Daoに任せたいがfindByBarId()は実装を書きたいという場合、どうするのがいいんでしょうか。 class HogeDaoImpl …
だんだん一度はあきらめたJSFが輝いて見えてきました。最近のサンプル開発遊びの中でもS2JSFでやったときが一番簡単にさくさくと進んだ気がします。 URL上で実ファイルパスを隠蔽できるような仮想パスの仕組みがJSFに入るとそれでOKな気もしてきます。でも実…
Struts in ActionのおかげでStrutsというものが結構理解できた。これでやっとStrutsの述語を使いこなせるというもの。今までがいい加減すぎただけか。Strutsがどれだけ素晴らしいかはよくわかったけど、実際のところそれで美しい設計でメンテナンスしやすいW…