java

なじめない

最近合間を見てTapestryを触ってみてはいるんですが、いまいちなじめません。確かにテンプレートのシステムは素晴らしいのですがBasePageを継承してページ単位にクラスを作っていくのに違和感を感じます。 実務でWebworkを使っていて慣れてしまったせいかも…

セッション

Webのシステムを作っていて毎回問題になるのが、 同じブラウザを二個立ち上げて操作したときの対応。 セッションに値を入れた場合だと、同じキーで保存してしまうので後勝ちになってしまう。 hiddenで埋めて引きずり回せば各々で処理できるけどあまりhidden…

解決

昨日のチェックボックスの問題は上手くやることで解決。 Tomcatでモジュール置き換えを何度もして再ロードをさせてるとOufOfmemoryErrorを起こしてる。 何が原因か良く分からないので、EclipseProfilerを入れてみた。 でも使い方が良く分からなかったので明…

チェックボックス

webworkのチェックボックスではまる。 デフォルト値をfalseにしないとだめなのか? チェックボックスの値はチェックしてないとname=valueという値が来ないから、一旦裏でtrueを保持してしまうとチェックをはずすとずっとtrueのままになる。 デフォルトをfals…

慣れない

今日はWebアプリでよくあるパターン 入力 > 確認 > 完了 をTapestryでやってみることにした。 結論から先に書くとうまくいきませんでした。 まず、Pageのプロパティを引き継がせてページを遷移させました。 入力 > 確認 は上手くいったのですが、 確認でパラ…

触ってみる

今まで実際にコードを書いたことがなかったのでTapestryのHPを見ながらプログラミング。 Spindle(unstable)もいい感じ。コードのバリデーションをやってくれるからスペルミスなどは未然に防げる。 エラーの表示も親切だ。JSPはServletに変換された後の行番号…

すげぇ

id:masataka_kさんの日記に興味深いことがいっぱい書かれていた。 (まさたかさん下で紹介しているソフト使ってみてはどうですか? いい感じで考えをまとめれますよ。既知でしたらすみません。) 今からからさわぎが楽しみだ。

petshopサンプル

Tapestryのpetshopサンプルを動かしてみた。 ヘッダーとフッターをどうやってインクルードしてるのかと思ったら、 セットで一つのコンポーネントになってた。 で、そのコンポーネントに中身を渡してた。 Tapestryを通さないとヘッダーとフッターは表示されな…

Middlegen

昨日のMiddlegenで吐き出された*.hbm.xmlに不具合があった。 テーブル名の終わりに「s」がついてると、「s」をのけた状態で作られるみたい。 原因を突き詰めたところ、middlegen Taskのオプションで singularize="false"というのを入れておけばいいみたい。 …

DDL > middlegen > hbm2java

下記のプラグインを用いてDDLからマッピングファイルそしてJavaBeansまで生成してみました。 Clay HP DBEdit HP 手順 Clayでデータモデリングをして、DDLを作成します。 出来たDDLをDBEditで実行してテーブルを作成します。 Antでmiddlegenを使ってテーブル…

密かに・・・

自分も何か作ってみようかなぁ。 フレームワークとかそういったものではなく、ツール的なものを。 案は一つ思いついているんだけど、もう少し煮詰めてみよう。 途中で止めないように育てていこう。 からさわぎまでにはプロトタイプ的なものを作り上げたいな…

DTOへ直接入れちゃえ

one-to-many many-to-one とか面倒なので、HQLで直接DTOへ入れてしまおうと思います。 下記の3つのテーブルを結合したものをEmployeeDetail(DTO)へマッピングしたいと思います。 テーブル 社員 create table EMPLOYEE ( employeeid integer generated by def…

S2JSF

昨日の方法だと特定の場所にバインディングすることができないなぁ。 こんなとき こんにちはnameさんうーん ひがさんからS2JSFのアナウンスがされてた。

S2JSFに期待

ひがさんがS2JSFの制作にとりかかったみたいですが、 どのような物ができあがるのか楽しみです。 デザイナとプログラマの分離がどのように実現されるのか? 前にも書いたけど、lintとかにも影響の出ないような物になるのかな。 タグにバインディング情報を書…

initialize

ソース追っかけました。 で、 「initial-value」を設定しているとこれを設定するPageDetachListenerがPageオブジェクトに登録されるようです。 で、Tapestryがしかるべきタイミングでdetach()メソッドを呼んで初期化を行うみたい。 BasePageをabtractで継承…

ちょっとソースを見てみる

javassistでサブクラスを作って、そのクラスにプロパティを作ってそのアクセサメソッドを作っているところは見つけた。 Tapestryはこの自分で作ったサブクラスを管理するから、 abstractでBeanを書けってことなのかな。 で、勝手にinitialize()したりするっ…

面倒くせぇ

あー面倒くせぇ。 insert(Object obj) update(Object obj) delete(Object obj) この三つはいいんだけど、 find(String hql) こいつが面倒。 期待した結果を得るのに時間がかかる。 上手く使い分けるのが得策かな。 Hibernateをバリバリに使いこなしている人…

javassist

以前書いたjavassistを使ったsetter/getterについてTapestry funさんからコメントがありました。TapestryはPageをキャッシュしているのでリクエストごとの初期化が必要とのこと。つまりこの部分を勝手に組み込んでくれるということなのかな。 時間ができたら…

TODO

1:Mだけやりました。 とりあえず動かすことはできた。 でも、まだ納得のいかない部分が残ってる。 その部分を解明しないと。 あと、最新のDBマガジンにHibernateの記事が載ってた。 その中で開発者のKing氏へのインタビューで、 「Hibernateはどんなときに使…

あぁ・・・

昨日立てたTODOは一つも実行されず・・・ 明日があるさ・・・

TODO

土日にやるTODOリスト Hibernateで1:1 Hibernateで1:M HibernateでM:M 時間あるかなぁ Tapestryの勉強もしたいんだけど、 業務でHibernateを使ってるからしょうがない・・・

JUnit

TDDを目指してるんですが、時間がない&ひらめいたときって どうしても実装を先にしてしまう。 後からテストケースを入れようと思っても結局やらない・・・ というかテストケースが書きにくい。 ということはそもそものクラス設計おかしいということ? orz J…

Tapestry & javassist

Tapestry in Action作者: Howard M. Lewis Ship出版社/メーカー: Manning Pubns Co発売日: 2004/02メディア: ペーパーバックこの商品を含むブログ (6件) を見るアマゾンアフィリエイト 英語ができないのに背伸びして「Tapestry in Action」を見ながら 勉強し…

今更ながらTapestry

StrutsやWebwork、JSFなどいろいろなフレームワークがある中、 今更ながらTapestryを勉強中です。 jakartaのCVSを見たら最新は3.1alphaだった。 TapestryのWikiにも書かれていたけどHiveMindがIntegrateされるみたい。 HiveMindってなに? ちょっと調べてみ…

Hibernateのdelete

HibernateのHQLを使ってdeleteメソッドを呼ぶときだけど、 Queryオブジェクトを使ってできないのかなぁ? たとえば in を使う SELECT だと下記のようになると思います。 Query query = session.createQuery("from Object a where a.id in (:id)"); query.set…

Webwork2(Velocity) + Spring + Hibernate(PostgreSQL)

で、問題が。 spring-xwork-integration.jarを使って連携しているんですが、 webappを再起動するたびにPostgresのコネクション数が増えています。 はじめはTomcatのDataSourceがいけないのかと思いましたが、 commons-dbcpを使っても同様の結果でした。 もち…

Webwork2のVelocity

以前Webwork2で、VelocityToolが使えないと書きました。 今以前の日記を読み返したら理由を書いてなかった・・・ WebworkでVelocityToolServletを使用することは可能なのですが、 その場合、$stack、$webwork、$ognlが使えません。 VelocityToolが使えてWebw…

Inversion of Control

改めてマーチン・ファウラーの記事(日本語訳)を読み返す。 いまいちIoCの有効性が見えてなかった自分ですが、 なんとなく分かってきました。 今まで、インタフェースベースのプログラミングをしてなかったので、 余計にその恩恵というものが見えてなかったよ…

デザイナとプログラマ

デザイナとのやり取りがいかにスムーズに無駄なく作業ができるかについて 会社のメンバーと少し話をしました。 デザイナさんにTapestryのタグを書いてもらえないか? もしくは後で置換するためのアノテーションを入れてもらえないか? ということを提案した…

Exadel JSF Studio for Eclipse 評価版

今日はEclipseのプラグインで動作するJSFのエディタを入れてみました。 Exadelの JSF Studioです。 ここは、Struts Studio とか ORM Studio for Hibernateとか出してますね。 で、これは Sun Java Studio Creator のように画面をペタペタと貼り付けて作るこ…