S2DelFlag

S2DelFlagV1.0.0リリース

シーサーサンプルプロジェクトの番外編にアップしました。S2Daoの物理削除機能に論理削除機能を追加できます。使い方はdocディレクトリに入っているメモをご覧くださいm(__)m。あ、動作環境書くの忘れた…ちゃんとしたドキュメントの方に記述しておきます(書…

今日リリース予定

テストパターンが多いのでユニットテストは出力されたSQLのログで確認(^^;。期待通りに動いているのでリリースします。ただ、世の需要と期待に沿っているかは謎?これ、どうやって配布しよう…。元がサンプルプロジェクトにあったから、サンプルプロジェクト…

感じを掴むためバージョン

Ver 0.9 リファクタ前バージョンで、テストめちゃくちゃ書いてコンパイル通らなかったのでテストを削ったバージョンです。まだテストパターン不足ですが、正常パターンにおいては動いています。使い方とセットアップ方法はdocディレクトリにメモ書きがありま…

亀進捗

のろのろ進んで、複数アノテーション対応、バッチ処理対応。という事で機能は全部完成。リファクタしたらやぁっとリリース。削除時の処理は良いとして、更新時の処理はいらない気がするけど、とりあえずリリース対象にしておこう。#とりあえずバージョンを…

亀進捗

忙しくなってしまって、平日に時間が取れない(>_バッチ処理の技術検証完了。ObjectにObject[]が入る事にびっくりした。バッチ更新なのに、削除フラグを一括でなく個別に設定したい場合はDELETEFLAGアノテーションにDeleteFlagValue.NOUPDATEを指定して、引数…

リファクタしてる時間がない〜

技術検証過程産物。これからリファクタしてパターンのテストに入る〜。前に作ったプロジェクトにS2DelFlagを適用してテスト全部流してみたけど、影響無し。アノテーション書かなければS2Daoそのものの機能が使われている事は実証した。そういや、引数がbean…

進行状況

組み込み方はS2DaoInterceptorにLogicalDeletionInterceptorをaspectするだけ。 引数がbean単体の場合論理削除・更新共に動作OK 引数が配列の場合(バッチ)の処理は未着手(やんなくてOKらしいけど、後でやる) 複数列の一括更新(アノテーション複数定義)の処理…

アノテーションの書き方

public static Object[] DELETEFLAG = { "tstamp", DeleteFlagValue.TIMESTAMP, DeleteFlagValue.TIMESTAMP }; 基本的には1つ目の値で指定したプロパティの型に代入できるものしか指定できない。2つ目の値は論理削除する時に挿入される値。3つ目の値は更新処…

落とし穴キター!

public final String delete_DELETEFLAG = "tstamp,timestamp,null"; なんて書いてどうやってupdate時にnullってアノテーションを取ってくるんだ?と思ったら、DELETEFLAGってサフィックスがつかない単体のアノテーションだったのね!!!どおりでおかしいと…

今の所順調で落とし穴無し

deleteメソッドについては技術検証完了。ちゃんと動いてるっ!コードは200行ちょっとと、かなり少なめ。アノテーションに定義された値をbeanにセットする時に、型を判定してる部分がもうちょっと綺麗に書けないかなとS2のコードをあさっていたら、ValueType…

今日から再開

ここまでやったんだから、最後まで作ってやるー(>_S2Daoのコアには手を入れなくてOKになりました。以前のコアを書き換える方法に代わりS2DaoInterceptorにLogicalDeletionInterceptorをアスペクトします。つまりインターセプターの乗っ取りですな(笑)これで…

S2Dao1.0.2リリース

SQL文中に引数や引数のプロパティを文字列として直接埋め込む機能を追加しました。/*$引数名*/のように引数名の前に$をつけます。 全く見てないけれど、timestampの埋め込みいけるようになったんじゃ!?後で見る〜。 追記: SqlParserImpl.java EmbeddedValue…

正攻法でいくと手数が!

BasicHandlerまで手を出さないといけなくなってきて、かなり楽しくなってきた(笑)いやー、S2Daoの作りがすばらしいんでかなり楽しいですよ。たぶん正攻法で組み立てないで無理やりやるのが一番楽にできると思うけど、かなり納得がいかないコードを書くことに…

本体改悪版

とりあえず正規手順で仕様を追加したらどうなるだろうというので実装してみた。動いたけどヘタレだなぁ(笑)とりあえずこんなのは動いているらしい。項目名がsalなのは数値型なら何でもよかったから… delete_DELETEFLAG = "tstamp,null,timestamp"; delete_DE…

とりあえず動いた大嘘

本体に手入れすぎだけど。どうやって差分を切り出そう?リフレクション使ってprivateなメソッドを呼び出すようにすれば、ちっとは外だしできるかな(ほんとはやだ)。最悪DaoMetaDataImpl.setupDeleteMethodByAuto()を書き換えちゃえばいけそう。やっとスター…

また見てみた

先日書いた方法で、S2Dao本体にざっくり手を入れてしまえば実現可能な事は分かったけど、本体に手を入れずに実現する方法がまだ分からない。たぶん本体に手を入れないとSQLの自動生成に手を加えるのは無理じゃないかな〜。手の入れ方って当たりついてる?<…

重要な事を見落としていた

DaoMetaDataImplのメソッドはprivateだから拡張できないや(笑)DeleteAutoStaticCommandがprotectedだったんで気持ちよく見ていたら駄目だった!全部考え直し〜。

ちょっとだけ見た

見た限り簡単に差し込めるもんじゃないみたい。まだ実装方法を模索中だけど、もしも本体に組み込むと考えた場合、どう対処するかを考えてみた。 DaoMetaDataにpublic String DELETEFLAG_SUFFIX = "_DELETEFLAG ";を定義 DaoMetaDataImplにprivate String get…

S2Daoのソースをdeleteでgrepしてみる

面倒そうだな…。まだちゃんと見てないけど。うーん?アノテーションでやらずにSQL書けばすむ気もする。複数項目を同時に更新する場合にアノテーションだけだと無理があるな〜。っと、息抜き終了。まだ余所見する時間が無い(^^;