1 名前:デフォルトの名無しさん [04/09/12 10:56:03] クラスもかなり増えてきた Apache Jakarta Commons について語るスレッド Apache Jakarta Commons jakarta.apache.org/commons/ 中でも便利なものが Commons Lang jakarta.apache.org/commons/lang/ Commons Collections jakarta.apache.org/commons/collections/ Commons FileUpload jakarta.apache.org/commons/fileupload/ とくにLangには equals(), hashcode(), compareTo(), toString() メソッドを簡単にオーバライドできるメソッドが用意されており重宝する。 そのほか、NestableExceptionはC#のような言語に頼らなくても 投げられ続けた例外を上書きせずに保持する事ができるので便利。 Collectionsは java.utilのコレクションクラスに不満を持つ者にとっては 朗報だ。ListとHashを兼ねた便利なクラスも用意されており、その数は豊富である。
369 名前:デフォルトの名無しさん mailto:sage [2005/11/05(土) 02:35:29 ] >>368 Commons4E www.jiayun.org/mediawiki/index.php?title=Commons4E これとどっちがいい?
370 名前:デフォルトの名無しさん mailto:sage [2005/11/05(土) 04:11:19 ] >>369 Field selection is the main difference between Commonclipse and Commons4E currently. (Commonclipse uses all fields)
371 名前:369 mailto:sage [2005/11/05(土) 11:36:27 ] >>370 ありがとー。 アホなのでExcite使いますた。 >現在、フィールド選択はCommonclipseとCommons4Eの主な違いです。 >(Commonclipseはすべての分野を使用します) 全フィールド使う方がいいのかな?
372 名前:デフォルトの名無しさん mailto:sage [2005/11/05(土) 16:01:11 ] >>371 toString ならいいんじゃないか? で hashCode と equals には使ってないんだな。 使ってたら、なぜ選択する必要があるか分かると思う。 まー、手修正すんのと GUI で選ぶのもどっちもどっちだけど。
373 名前:デフォルトの名無しさん [2005/11/10(木) 22:34:15 ] jakarta.apache.orz/commons/lang/
374 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 22:48:40 ] わかりにくいネタはやめてくれ。
375 名前:デフォルトの名無しさん mailto:sage [2005/11/14(月) 23:18:35 ] 【玄人】プロジェクト管理ツールApache Maven【2.0登場】 pc8.2ch.net/test/read.cgi/tech/1131976988/
376 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 14:28:23 ] >>222 > リフレクションは、重いという弊害の他に、ダウンキャストの危険性も多い。 そこでGenericsを。 BeanUtilが対応していればだが
377 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 14:32:57 ] >>229 > closeQuietelyだけだったらさすがに環境構築のたびにクラスパス通して > インポートしてってよりは自分とこの共通クラスにコード書くね。 > だって誰が書いたってああなるでしょ。 > 実際ほとんど同じのcommons自体知る前に書いてたし。 > 結局commons-ioかよとか思わないと思うけどね。 > 別にたいした手間じゃないんだけどクラスパスが無駄に多いのは好きじゃない。 Apache Mavenを使えばクラスパスの設定もいらんぞ。 やってみいよ
378 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 14:54:50 ] >>276 実際このCommonsのこれ使っちゃ駄目 これ使っちゃ駄目とか言いだすDQNいるんだな〜これが。 それだけでなくある程度プログラムができあがってくると 多少問題があってもソースコードを弄ることを拒否しようとする。 リファクタリング拒絶というトンデモ君が。 一度こうなってしまったら前へすすむしかない、みたいな。 その様は何人もの犠牲者を出してしまった軍隊のようだ。 犠牲者を出してしまったんだからもう目的地に行かなくては 犠牲者に申し訳が立たないといってデスマーチに陥る。 実際徹夜ばっかになったプロジェクトでしたが。
379 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 14:57:27 ] >>267 の レスにたいして>>302 のようなレスをする意味が 激しく解らない >>302 は誤爆?
380 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 15:08:21 ] >>370 なーるほど、 ただしCommonclipseプラグインは 未だにEclpse3.1に対応していないというバグが 直っていないのでパス
381 名前:デフォルトの名無しさん [2005/11/15(火) 15:09:22 ] >>309 > 誤爆適用スレってしってるか? > 今日は当たり日なんだろうか・・・ それってどうやって 誤爆を受けているのか確認できる?
382 名前:デフォルトの名無しさん [2005/11/15(火) 15:18:42 ] Commons FileUploadはServletにしか対応していないのか・・・・ 普通にデスクトップJavaや コマンドラインJavaアプリケーションで シェルのようにFTPサーバにftp, sftpまたはSCP経由で ファイルのアップロードするということをやってみたかったんだが。
383 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 15:32:33 ] よくみたらFTP接続できるのは Commons Netか! orz
384 名前:デフォルトの名無しさん [2005/11/15(火) 19:07:46 ] Commons NetのFTP接続ってファイアウォール越しに 接続する機能は無いのか? scpかsftpでポート22経由で接続したいのだが・・・。 対応してるプロトコルをみるとsshが見あたらない。 ということは無理か?
385 名前:デフォルトの名無しさん mailto:sage [2005/11/15(火) 23:45:54 ] SOCKSが使えるんでない? もちろんsshのDynamicForwardが前提。
386 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 23:35:40 ] Velocityを覚えたからAnakiaに手を出そうとしたらAntをまだ覚えていなかった。盲点。 ライブラリじゃなくてアプリのOSSで俺は貢献してやるぜ!
387 名前:デフォルトの名無しさん mailto:sage [2005/11/22(火) 13:39:32 ] Antは簡単だからいいよ。 Velocityより簡単かと。
388 名前:デフォルトの名無しさん mailto:sage [2005/11/22(火) 14:00:41 ] >>387 比べるモノなのか?
389 名前:デフォルトの名無しさん [2005/11/22(火) 14:12:55 ] ValidatorとかConfigurationsって使えるんだね。 ConfigurationはResourceBundleの代わりとして使えそう
390 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 01:00:38 ] 水を挿すようで悪いがたいていResourceBundleで事足りる
391 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 02:09:55 ] 気がついたらlibディレクトリがゴチャゴチャになってしまったので 整理したいのですが、Commonsとかそれぞれのjarの依存関係って どうやって調べればよいのでしょうか… とりあえずどこからも呼び出されてないjarだけでも外したいのですが…
392 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 19:04:57 ] ドキュメントに書いてあるので嫁。 つーか大した量じゃないんだし、commonsぐらい全部入れちゃっても (ry
393 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 12:42:07 ] >>391 Apache Mavenを使った方が楽だと思うんだけどなあ。 EclipseのMaven Repo Searchプラグインを使って 必要だとわかったJARの<depedency>タグをクリック一発で作って それをpom.xml(Maven1.xではproject.xml)の<dependencies>タグの 内側に貼り付けて、 mvn install を実行し Eclipseを使っているなら mvn eclipse:eclipse を実行してEclipseプロジェクトにJARのパスを自動的に追加して またエラーが出ることを確認してしらみ潰しに、一個一個見てゆき 再びMaven Repo Searchを使って同じ事を繰り返すってやりかたで。 依存関係を調べる方法の一つとして Eclipse3.xのcal Hierarchy(呼び出し階層)を調べる機能で このクラスはどのクラスに必要とされているか、 あるいは逆にこのクラスはどのクラスを使っているかを調べることができる。 ただしJarについては(ry リストアップされるエラーメッセージをみながらこのJARが 必要だあのJARが必要だと調べながらあれこれやることができる。
394 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 12:42:49 ] >>390 Configurationはそんなに使えなかった? それとも面倒だからやらなかっただけ?
395 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 12:50:08 ] 気がつくとCommons Mathとかの リポジトリがCVSからSubversionに入れ替わってるね。 ApacheもとうとうSubversionを導入し始めたか。 他のプロジェクトもすべてSubversionに以降しきっているのかな?
396 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 13:11:27 ] >>395 気づくの遅すぎ。
397 名前:390 mailto:sage [2005/11/24(木) 21:50:13 ] >>394 使えないというより、ResourceBundleで十分だった。 それなら誰もが知ってる方がいいよね。 Tomcatレベルの複雑な設定が可能なアプリケーションには向いてるんじゃない?
398 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 22:00:43 ] そもそもResourceBundleって、メッセージとかラベルの文字列外部化だから Configurationほど色々できる必要が殆ど無いと思われ。 キーを階層構造にしてオブジェクトに格納できたところで、大して意味無いし。 小面倒な設定ファイルとか、シリアライズしたいとかならConfigurationの出番だろうけど。
399 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 22:09:23 ] Configurationで、i18nってできるの? ごめん、確認しないで聞いてる。。。
400 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 10:06:40 ] ResourceBundleで配列のメッセージリソース管理できたらなー
401 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 12:17:01 ] >小面倒な設定ファイルとか、シリアライズしたいとか スキーマ切ってXMLでやりとりした方が楽になる。
402 名前:デフォルトの名無しさん [2005/11/26(土) 01:23:36 ] Commons-devのメーリングリストに参加して メール読んでるんだけど、 Java Genericsに対応したCommons Collectionって すでにあるんだね。いまのところSourceForge専用だけど。 そのうちCommons Collectionに対応させてゆくらしい。 Tim, It's already been done (collections15.sourceforge.net/ ). Hopefully we'll finally figure out how we're going to bring this code (or some version of it) into our codebase. For now, if you need generic support you can use the sourceforge project. James -----Original Message----- From: Tim Roberts [mailto:troberts@computing.dundee.ac.uk] Sent: Friday, November 25, 2005 6:05 AM To: 'Jakarta Commons Developers List' Subject: Making Commons Collections Generic Enabled Are there any plans to make commons collections generics (as in JDK 1.5) enabled? If not I would be happy to do this. Tim. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org
403 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 20:29:31 ] 冷害(笑 ttp://www.jajakarta.org/commons/lang-2.0/ja/withoutPrimary/org/apache/commons/lang/ArrayUtils.html
404 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 20:31:04 ] BeanWriterって便利ですね。 BeanUtils系で使用される、ネストで出力できるライブラリってないですか。 $form.property1.name="commons" のような感じで。 BeanWriterもいいけど、xmlより直感的でわかりやすいです。
405 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 20:04:22 ] Velocityって環境によってコメントの解釈が違ったりしないか? #* ## こめんと #hogeMacro($hogehoge) #if( $hage ) ほげはげ #end *# こんな感じのコメントつけてると、一番上の #* の部分が表示されたり、最悪 ## 以外のコメントが利かなかったり・・・
406 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 21:33:11 ] 環境によるとは?
407 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 21:34:57 ] >>405 バグはあるかも知れんね けどテンプレファイルにそんなにコメントつけることなんてある?
408 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 22:35:55 ] >>405 ブロックコメントの中にコメント入れないほうがいいよ
409 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 16:20:38 ] >>404 ほかは知らないけどそれはほしいね。 velocityもstrutsもibatisも xxx.yyy.zzz 表記だから、 ネスト形式のほうが直感的でわかりやすいかも。
410 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 21:55:33 ] VelocityでXMLを出力する場合に上手いやり方ってあります? firstChildとかやってくのは、ちょっと違う気がするです。
411 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 04:11:59 ] >>406 CVS使って開発してるから違うのはJVMとOSのバージョンくらいしか思いつかないんだが、 自分のPCで大丈夫だと思っていたものが他の環境では上手くいかないとか >>407-408 仕事で使ってるとマクロ丸々コメントしたりして、その過程でマクロ内に入れてるコメントに引っかかったりするんだ。 つかVelocityは仕事で使うもんじゃないな。
412 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 13:54:54 ] じゃあなに使うの?
413 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 15:40:10 ] >>403 っていうかJakarta Commons Langって翻訳が全然すすんでないな。 最後に編集したのがこれかい $Id: ArrayUtils.java,v 1.1.1.1 2004/02/13 10:02:05 hioki Exp $ hiokiって誰だ? 姓名がいおき?
414 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 15:46:18 ] >>405 そんなのは初めて聞いたぞ。 っていうかそもそも*なんて普通つかうか? >>410 新規にXMLファイル作るなら 簡単だろ。 独自のオブジェクト作ってしまえば かなり楽だろ。 独自のクラスで作られたオブジェクトを newしてそれをListにぶちこんでから Velocityのputにぶちこんで あとはVelocityファイル側で #foreachを使ってlistにぶち込まれた オブジェクトを取り出すだけ。 やり方はマニュアルとかに書いてある。 ググって見ても簡単でいいサンプルもあった。 >>411 普通に仕事でVelocity使ったんだが。Velocityファイルにコメントなんて 一切書かないが。XMLを自動生成するならコメントは<!-- -->だな XMLファイルを自動生成するためにVelocity 使ってコード書いて納品したよ。そのシステム、今でも動いている。
415 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 21:32:07 ] velocityよりfreemarkerの方がいい。
416 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 09:28:41 ] >>413 文句言うなら自分でやれよ。
417 名前:デフォルトの名無しさん mailto:sage [2005/12/05(月) 18:34:53 ] FreeMaker はタイプ量が増えるのでやだ。 < と > で囲うことに魅力が感じられない。
418 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 02:13:16 ] あっははは これだからJakarta信者は。
419 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 02:23:36 ] Velocityは人気が高いからな ELでいいじゃん
420 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 02:29:28 ] Velocityで質問。 配列のリストをVelocityContextにlistOfArrayとして入れたとするでしょ。 #foreach($array in $listOfArray)〜#endで中身の配列は取れるけど $arrayの各要素が#foreach($object in $array)〜#endで、 それどころか$array[0]でも取れないのはどうすればいいんかね。
421 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 02:34:05 ] velocityCountとかいう内部変数があるよ。 デフォルトは1からだが、0からに変更することも可能。
422 名前:420 mailto:sage [2005/12/11(日) 02:50:00 ] >>421 質問内容が伝わってないようだから改めて書く。 下のような例の場合 1 と 4 が出力されてほしいがそうならない。foreachで受けた 変数が配列の場合、どういう表記をすればその配列の中身を取り出せるのかね。 Java側 List listOfArray = new ArrayList(); listOfArray.add(new int[] { 1, 2, 3, }); listOfArray.add(new int[] { 4, 5, 6, }); VelocityContext context = new VelocityContext(); context.put("listOfArray", listOfArray); Velocity側 #foreach ($array in $listOfArray) ## $listOfArrayの各要素は取り出せる。 $array[0] ## $array の各要素は取り出せない。 #foreach ($object in $array) ## foreach でもダメ。 $object #end #end
423 名前:420 mailto:sage [2005/12/11(日) 02:52:36 ] > 下のような例の場合 1 と 4 が出力されてほしいがそうならない。 下のような例の場合 $array[0] に対応した箇所で 1 と 4 が出力されてほしいがそうならない。
424 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 02:59:26 ] プリミティブ配列だからでは? Integerで出来ない?
425 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 03:02:29 ] Integerでも無理
426 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 03:04:54 ] #foreach( $ref in arg ) statement #end 使い方: * $ref - 最初の変数リファレンスは、リストの項目です。 * arg - リストのリファレンス(つまりオブジェクト配列/コレクション/マップ)、 配列リスト、範囲演算子のいずれかです。 * statement - 上記で arg と示されたリスト内にある、 有効なアイテムの分だけ出力する内容です。 この出力は有効なVTLなら何でもよく、ループの繰り返し毎に処理されます。 ドキュメントを見ると出来るはずなのにな。 #{array[0]}は試した?
427 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 03:07:21 ] #{array[0]} もダメ。 でも配列のリストでなく、リストのリストならうまくいくことは確認している。
428 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 06:33:17 ] 画面ばっかり作っていて #foreach( $arrays in $beans.samplearray ) #foreach( $array in $arrays ) #foreach( $sample in $array ) $sample #end #end #end みたいな事やってたから出来ると思うが・・・リストのリストだったのかな $array[n] はできないよ。 #set( $sample = [] ) みたいにカラのArrayListオブジェクトを作ることは出来るけど・・・ 配列の中身取りたかったら、#foreachでまわすか、リストにして $array.get(n) のかたちで取らないといけないんじゃなかったか。 #foreach でまわせないのは・・・ new int[] { 1, 2, 3, } ってやってるけど、3つなら3つって指定してやらないといけないとか しかし long の数値が if で比較できないとか色々不便だな。 #if( "$longvalue".equals( "0" ) ) みたいなことやってる。悲しすぎる。 ああ、$math 使えばよかったか・・・どっちにしろ長く分かりにくくなるんだよなぁ。
429 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 15:11:00 ] >>426 を見るとオブジェクト配列は可能ってあるけど、何が可能なんだろうな
430 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 15:20:04 ] あれ?俺は普通に出来たが・・・ArrayListにint[]
431 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 14:20:24 ] >>403 こんなところで笑ってないで、フィードバックしる。
432 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 14:33:17 ] >>420-430 ListToolを使ってみたらどう? Velocity Tools 1.2 (最近リリースされた) 以降でないとだめだけど。 ttp://jakarta.apache.org/velocity/tools/javadoc/org/apache/velocity/tools/generic/ListTool.html
433 名前:デフォルトの名無しさん [2005/12/13(火) 16:03:56 ] Configurationsって仕様見ると超便利なのに バグが多すぎだなorz プロパティファイルが更新されると同時に更新されたことを 自動的に読みとってくるリロードストラテジークラスを 使ってみたのにプロパティファイルを更新しても全然リロードされなかった。 クラスパスが通っているところにファイルを置いてもうまく いかないみたいだ。これって最悪。Hibernateの設定ファイルを 管理しようと思っていたのに。 しかも読み込んだ設定ファイルを保存するsave()メソッドもちゃんと機能しない。 なにやらJavaプログラム実行ディレクトリを基点とした 絶対パスを指定しないとうまくいかないようだ。save()メソッドを実行する前に setBasePath()またはコンストラクタで絶対パスを指定するか、save()メソッドの 引数に絶対パスを指定するかしないと変更が反映されないようだ。 これもクラスパス上に置いただけではまったく糠に釘出しのようだ。 それでも正確に反映されないときがある。それにはク意図的にコンストラクタで newしないといけないようだ。 ということで現状のConfigurationには期待に反して不満が多すぎ。 XMLファイルの読み書きは楽だと思ったけど。
434 名前:デフォルトの名無しさん mailto:sage [2005/12/13(火) 20:41:50 ] 現在、Jakartaのサイトにつながらないが、 そんなことを掲示板に書くな、ヴォケが。
435 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 18:21:13 ] >420 primitiveの配列でもサポートされるはずだけど。 org.apache.velocity.util.introspection.UberspectImpl#getIterator(Object, Info)あたり参照。 正直、Velocityはソース追いながら & hackしながらじゃないと使いにくい。
436 名前:デフォルトの名無しさん mailto:sage [2005/12/19(月) 18:59:19 ] perl5utilでtrは未サポートらしいですね。 自力でかな 全角→半角 置換します。 if ("ア".match(str)) { str.replaceAll("", "ア"); } else if ・・・ tr/アイウエオ/アイウエオ/ができたら1行なのに!
437 名前:デフォルトの名無しさん mailto:sage [2005/12/19(月) 19:37:50 ] 誤爆?
438 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 21:05:05 ] きわどい内容だね ここに書いてもなんら違和感ないキャスティングだ
439 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 22:57:08 ] OROだな。テラナツカシス
440 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 00:08:03 ] JMeterみたいな知る人ぞ知るみたいなツールもあれば ECSみたいに厨房のオナニーライブラリと見分けが付かないものもあったり Jakartaも質がばらばらだな
441 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 02:51:14 ] >>440 でもオープンなライブラリがこれだけあるのがありがたいじゃん。 例え玉石混淆でもさ。 最近.NET案件入ったらCommonsみたいのがなくて、そのありがたさを身にしみて感じてるよ。
442 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 02:52:04 ] .netは金だせばなんでもある世界
443 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 07:16:13 ] JakartaっていうかApacheのいいところは、既存プロジェクトからいい機能が 独立プロジェクトになるところ
444 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 17:19:23 ] JMeterって知る人ぞ知るかぁ?Jakartaのトップからもう何年もリンクがあるのに? あんまり使われてないのは 1. JMeter重すぎ、サーバの負荷テストの前にクライアントの負荷テストになる 2. HTTPのテストならproxyの設定の必要がないのと軽さで Microsoft Web Application Stress Tool(通称ゲイツ砲)に軍配 3. RMIについてはちょっと他に代わりを知らないのでJMeter使う場合もあるが そもそもリッチクライアントだってRMI使うことが流行じゃない 4. データベースの負荷テストなんてそもそもJMeterからやらんでもいい 5. テスト仕様書もエヴィデンスもJavadoc化できるので 負荷テストはユニットテストの延長でjunit/junit-eeなりcactusなりで作る 6. お金があるのでWinRunnerみたいなテスト自動化ツールとか Cloverみたいな分析ツールを買った ってところが理由だと思うけどな。 ECSを厨房ライブラリと言い切るのもなんだかねぇ。 perlのCGI..pmとかXML::Writer.pmのjava版だと思えばあっても構わんだろ。 使いたい奴は使えばいい。
445 名前:デフォルトの名無しさん [2006/01/02(月) 14:32:56 ] 正月じゃカルタやるべさ
446 名前:デフォルトの名無しさん mailto:sage [2006/01/02(月) 15:06:10 ] >>440 Commonsの場合はSandboxであるかないか、とか AかBか、という違いで質がわかるようになっている。 それ以外にも古いものや開発が停滞しているものあるはい開発が すっかり止まっているものは質が悪かったりする(とは限らないが)、などなど。
447 名前:デフォルトの名無しさん mailto:sage [2006/01/05(木) 19:59:02 ] JXPathめちゃめちゃ使えますね。 XPathでワイルドカード、正規表現検索ってできるのでしょうか?
448 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 11:50:05 ] Commonsに電卓のようなクラスはあるでしょうか。 "10 + (9 -1) / 2"の文字列を計算するようなものです。
449 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 15:43:16 ] >>448 velocityでやるべし。 StringWriter writer = new StringWriter(); Velocity.evaluate(ctx, writer, "", "#set( $value = 2 * 4 * 6 )$value"); System.out.println("result: " + writer);
450 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 15:49:43 ] >>449 なるほどね。 いただき!やってみます
451 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 15:53:39 ] >>450 こんなんもできる。 StringWriter writer = new StringWriter(); Velocity.evaluate(ctx, writer, "", "#set( $value = 2 * 4 - 6 )$value"); System.out.println("result: " + writer); writer = new StringWriter(); Velocity.evaluate(ctx, writer, "", "#set( $value = 2 * ( 4 - 6) )$value"); System.out.println("result: " + writer);
452 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 20:34:35 ] Mapのキーのリストを渡して、Mapのvalueを配列(リストでもいいんだけど)で帰すメソッドってありますか? 見つからなかったので自分で作りました。 あってもいいんだけど・・・ public static Object[] toValueList(Map map, List keyList) { Iterator iterater = keyList.iterator(); List result = new ArrayList(); while (iterater.hasNext()) { result.add(map.get(iterater.next())); } return result.toArray(); }
453 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 21:56:02 ] >>452 キーのリストを指定しなくて良いなら map.values().toArray() で取れるけど。
454 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 09:47:11 ] >>453 ありがとうございます。
455 名前:デフォルトの名無しさん mailto:sage [2006/01/12(木) 16:36:04 ] FileUtilsでcopyDirectory(File srcDir, File destDir)がありますが、 UNIXにあたる mv はないでしょうか。
456 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 05:32:36 ] >>455 Commonsと関係ないけど import java.io.File; public class MoveFile { public static void main(String[] args) { File orgFile = new File("a.gif"); orgFile.renameTo(new File("tmp" + File.separator + orgFile.getName())); } } こんなやり方で a.gifファイルが tmpディレクトリに移動できるみたいだけど これじゃだめ?
457 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 10:24:43 ] >>456 ありがとうございます。 できました。 ちなみにパーティションを介した場合でも移動になるのでしょうか? 自分のマシンがCドライブのみなので確認できません。
458 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 12:27:35 ] >>457 共有してドライブに割り当てれば?
459 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 12:28:52 ] >457 それか、これ。 arena.nikkeibp.co.jp/tec/winxp/20040825/109291/
460 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 19:37:27 ] >>458 できました。 ありがとうございます。
461 名前:デフォルトの名無しさん mailto:sage [2006/01/13(金) 20:25:19 ] CompositeMap使ったことある人
462 名前:デフォルトの名無しさん [2006/01/15(日) 23:09:53 ] Commons VFSを使えば Commons Netにはなかったsftp接続ができるとわかったんだけど このVFS、うまく動かない。 EclipseのMaven Repo Searchプラグインを使ってvfsで検索して 以下のタグをクリップボードからpom.xmlに貼り付けてMaven2で mvn ecipse:eclipseとして JARファイルをEclipseプロジェクトのライブラリに追加したのだが・・・ <dependency> <groupId>commons-vfs</groupId> <artifactId>commons-vfs</artifactId> <version>20050307052300</version> <scope>compile</scope> <type>jar</type> </dependency> ナイトリービルドだからいたしかない、というしかないのだろうか? 以下のコードをためしてみたものの homepage2.nifty.com/igat/igapyon/diary/2005/ig050702.html Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.commons.vfs.impl.StandardFileSystemManager.<init>(StandardFileSystemManager.java:45) at name.sugawara.hiroshi.html.taggenerator.uploader.ImageUploader.main(ImageUploader.java:31) どういうことだ? EclipseにはCommons LoggingのJarがライブラリにクラスパスとして通っているというのに。
463 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 00:04:50 ] とりあえずsugawara hiroshiさんだということは分かった。
464 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 01:35:30 ] ∩___∩ | ノ ヽ /⌒) ● ● | / ////( _●_)// ミ .( ヽ |∪| 、\ \ ヽノ /´> ) | / (_/
465 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 02:07:22 ] ワラタ(・∀・)
466 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 02:21:57 ] >>463 ばれちゃったか(笑 しばらくレスするのやめることにするかもしれないけど 実名晒しても恐れずに前に突き進んでみるさ。 VFSはまだまだバグがあるのようなので かわりにJschまたはJ2SSHを試して見ることにしたよ。 レスサンクスな。
467 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 02:35:03 ] パッケージ名にname.sugawara.hiroshiという.nameドメインを使っていただけ ただそれだけのようで何も珍しくも
468 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 02:48:56 ] Maven Repo SearchでもsshをキーワードにしてJ2SSHをインストールできることがわかった。
469 名前:デフォルトの名無しさん mailto:sage [2006/01/16(月) 12:50:48 ] >>462 どうやら、実行時にCommons Logging のjarをクラスパスに通すだけでいいっぽい。 これはどうやら、なぜかJ2SSHでも同じように必要なようですな。
470 名前:462 mailto:sage [2006/01/17(火) 02:02:23 ] 結局sftpを使うにはJ2SSHを使うことにした。 Commons VFSを使うよりこっちのほうが安定している。 確かにVFS, J2SSHどちらも実行時にCommons Loggingを必要としている。 内部ではjsch.jarを使っているようだ。 Maven Repo SearchでJ2SSHも引っかかることがわかった。
471 名前:デフォルトの名無しさん [2006/01/25(水) 04:51:28 ] Commons Configurations使ったらlog4j,becl,beanutils.commons-loggingのダウンロードも強いられた。 もうわけわかめ。Eclipse + Maven2がなかったら困惑してたに違いヌー
472 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 11:46:12 ] ネストされているBeanのプロパティーの値も出力してくれる ReflectionToStringBuilderみたいなものはないでしょうか。 DB登録失敗時にデータを運用で復元したいので、 テキスト形式で情報を出してほしいといわれてしまいました。 対処法がわからず途方にくれています。
473 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 12:11:34 ] org.apache.commons.transaction.file.FileResourceManager使ったことある人 ファイルをベースにして、DBのようなトランザクションができそう
474 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 12:16:13 ] >>472 とりあえず、XMLEncoderでシリアライズしてみるとか。
475 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 13:28:04 ] >>474 そうですね。 今はとりあえずBeanWriterでXML形式で全部出しています。 ただプロパティー形式にしろといわれ、ちょっと困っています。 Commonsをいろいろみましたが、XML→プロパティの変換はなかったので・・・
476 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 17:00:12 ] ちょっとしたことなんだけど、ファイル削除メソッドってstaticであってもよくないですか。 new File("xx").delete();はめんどくさいです。
477 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 17:22:38 ] 仮にあったとしても FileUtils.delete("xx"); じゃ大して変わらんね。 static import すりゃタイプ数も変わるかもしれんが、 delete は比較的衝突しやすそうな名前だしなぁ。
478 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 10:32:22 ] >>473 自己レス。 新たにファイルを作成・書込み・変更の作業はロールバックできるけど、 すでにあるファイルを削除したときのロールバックはできないみたい。 他にやり方があるかもしれないですが・・・
479 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 10:41:11 ] org.apache.commons.collections.iterators いろいろみましたが、 カウンタを取得できるiteratorはないですね。 ループはiteratorでいつも通りしたいのですが、 ループ中にカウンタがほしい、ということはないんですかね・・・。 カウンタ取るために、リストを配列に戻して、list.get(1)とかって、なんか悲しいです。 皆さんはどうしてます。
480 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 12:20:57 ] >>479 ローカル変数でカウンタ宣言してループ内で使えばいいんじゃ? イテレータがカウンタ持つ必要はないと思うけど
481 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 12:26:48 ] >>479 インデックス使いたいなら、わざわざIterator使う必要ないと思うけど。 インデックス使わずに、走査できるのがIteratorなのに。 なんで、List→配列化するかも不明??
482 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 17:32:46 ] 俺も行番号生成とかでたまにやるけど、少なくとも配列に戻す必要は無いな。 ローカル変数で十分。
483 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 17:43:28 ] List#listIterator() じゃダメなの?
484 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 17:29:34 ] >>479 LinkedHashMap使ってキーに数字をいれるのはどうよ? って話じゃないか List#subList()などを組み合わせてループしながら List#index.Of() , List#lastIndexOf()でindexを検索するのはどうよ?
485 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 18:02:07 ] BeanMap bmap = new BeanMap(this); System.out.println(IteratorUtils.toList(bmap.entryIterator())); でフィールドのリストが出力されますが、 thisのクラスのみのフィールドをしゅとくすることはできるでしょうか。
486 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 19:04:22 ] >>479 素直に int counter = 0; for( String s : stringList) { counter++; //なんか処理 } じゃ駄目なのか?
487 名前:デフォルトの名無しさん [2006/02/02(木) 00:19:04 ] CodeZine:Jakarta Commonsを使ってJDKクラスを拡張する:パート1 codezine.jp/a/article.aspx?aid=283 CodeZine:Jakarta Commonsを使ってJDKクラスを拡張する:パート2 codezine.jp/a/article.aspx?aid=284
488 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 16:14:27 ] 日付の大小比較をしたいのですが、DateUtils.isSameDayだと 大小比較ができません。Commonsで他に便利なものはありますでしょうか?
489 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 16:20:31 ] >>488 java.util.Date#compareTo(Date)
490 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 17:50:24 ] >>489 失敬です。 当然でした・・・・
491 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 18:43:06 ] PropertiesでLinkedHashMapに対応するPropertiesみたいなものってないでしょうか? PropertiesのpropertyNamesでキーのリストを取れますが、 Propertiesの先頭から順に取得したいです。
492 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 19:26:59 ] ファイルの内容をiteratorでまわすクラスはあるでしょうか。
493 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 19:37:41 ] org.apache.commons.io.FileUtils.readLines(new File("filename"), "encoding")
494 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 20:24:22 ] >>493 ありがとうございます。 これは一気にファイルの情報をStringにつめていますが(たぶん) 小さいファイルなのでかまわず使用させていただきます。
495 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 20:44:09 ] 一気に読みたくないなら commons なんか使わないで普通に BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("filename"), "encoding")); String line; while(null != (line = br.readLine())){ // line 使った処理 }
496 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 14:45:55 ] cvsファイルの、"xx xx"やxx\'xxなど文字を、下記の通り返すようなユーティリティはありますか。 "xx xx" → xx xx xx\'xx → xx'xx
497 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 14:58:46 ] >>496 それありそうでないよね。
498 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 19:08:45 ] >>497 たしかに。StringTokenizerはつかえねーし。
499 名前:デフォルトの名無しさん mailto:sage [2006/02/07(火) 23:59:52 ] >>496 いまいち意味がつかめないんだけど、ダブルクォートと円サインを空文字で 置換したあとに、(CSVなので)カンマでsplitしたらいいの?
500 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 05:59:06 ] >>499 ダブルクォートの中にカンマがあったら?
501 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 13:45:01 ] HashMapのみで構成されたCollectionにCollections.sortかけたら、 なぜかClassCastExceptionが発生。なぜ?
502 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 13:51:39 ] >>501 Comparator 渡さなかったんじゃないの? HashMap は Comparable 実装して無いから ((Comparable)e1).compareTo(e2) みたいにやってる部分で ClassCastException 食らうはず。
503 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 13:55:06 ] >>501 すいません。自己解決。Comparable実装してませんでした。
504 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 18:16:05 ] シリアライズ可能でないオブジェクトは、どうあがいてもシリアライズできないでしょうか。 SerializationUtilsは、見た感じそのようなものではなかったのですが・・
505 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 21:49:00 ] CollectionUtilsのforAllDo()で、コレクションの再起処理はできないのでしょうか
506 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 22:14:17 ] class RecursiveClosuer implements Closure{ private Closure delegate; public RecursiveClosure(Closure closure){ delegate = closure; } public void execute(Object input){ if(!input instanceof Collection) delegate.execute(input); else CollectionUtils.forAllDo((Collection)input, this); } } みたいのを作って CollectionUtils.forAllDo(collection, new RecursiveClosure(delegate)) とかすれば数行で対応できるから作らんかったんじゃなかろーか。
507 名前:デフォルトの名無しさん mailto:sage [2006/02/09(木) 16:25:06 ] >>506 すばらしい。 ありがとうございます。
508 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 05:09:46 ] Closure closure = new Closure(input) { if (input instanceof Collection) { CollectionUtils.forAllDo((Collection) input, this); } else { // したい処理 } }; CollectionUtils.forAllDo(collection, closure); 再帰処理するように Closure を書けばいいだけじゃん。 506 みたいな RecursiveClosure なんか作る必要もない。
509 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 05:11:03 ] なんか変になったが new Closure() { public void execute(Object input) {・・・ な
510 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 11:00:42 ] PropertyUtils#setPropertyって、BeanUtils#setPropertyと違って オブジェクトのConvertが使用されないのですね・・
511 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 13:11:57 ] ドキュメントに with no type conversions ってしっかり書いてあるし。
512 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 15:01:18 ] yahooの検索結果で、10件表示の全件が110件以上の場合は 検索画面の下に 2・・・・11って出ますが、あんな計算をさくっとやってくれるツールないですかね
513 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 15:54:24 ] >>512 電卓
514 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 16:49:07 ] 一定期間で無効になるHashMapのようなクラスってないのかな WebAppで小さいファイルを読み込んだり、 定期的に再読み込みしてほしいことって良くあるけど、それようのUtilクラスが見当たらないね
515 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 16:55:10 ] それ HashMap 関係あるの? 定期的になんらかの処理させたいなら java.util.Timer とかもあるし。
516 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 17:24:18 ] ま、Timerかなんかで定期的にキャッシュしたい値が入ってるMapをクリアすればいいが、 出来ればそれぞれのvalueは指定した時間内だけ有効(取り出せる)なコンテナがあると、 気軽にキャッシュとして使えていいなー と。
517 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 17:34:55 ] >>516 一応、Sandboxにキャッシュ関係はあるみたいだけど、使い物になるかどうか……。 jakarta.apache.org/commons/sandbox/cache/
518 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 18:12:31 ] 一定期間にはならんけど、キャッシュならWeakHashMapを良く使うな
519 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 18:17:22 ] WeakHashMap で put("key", value) とかやって……
520 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 09:38:43 ] unixで言うところのgrepのようなクラスはあるでしょうか。 今は正規表現のMatcherを使用して自力で書いています。
521 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 09:50:40 ] プリミティブ型とintやdoubleが混ざる計算をするときに、 全ての型をプリミティブ型にしなければいけませんが、 もっと簡単に計算できるツールはないでしょうか。 MathUtilsかなと思ったのですが、数学用のものでした。
522 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 11:31:43 ] >>513 ありがとうございます。 電卓用クラスがあるのでしょうか?
523 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 12:00:01 ] >520 grep のような、と言うのは 複数ファイルから検索を行うってこと? それはクラスレベルではなくて、 アプリケーションレベルの話じゃないでしょうか。
524 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 12:04:00 ] >>523 すいません。 1ファイルレベルです。
525 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 12:26:08 ] >>524 つjakarta.terra-intl.com/oro/
526 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 12:57:10 ] >>522 110 / 10 = 11 これ以上になにか必要か?
527 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 17:47:46 ] LazyListで、set(6, "")すると落ちます。 LazyList.decorate(new ArrayList(), FactoryUtils.constantFactory("")); list.set(6, "") addは対応されているのですが、setは対応していないのでしょうか?
528 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 19:39:01 ] DateUtils#iteratorは使えるが、xx日〜yy日のリストもほしいな・・・
529 名前:デフォルトの名無しさん mailto:sage [2006/02/20(月) 12:00:18 ] >>527 自己解決。 setをオーバーライドし、中でaddを呼ぶようにして解決しました。
530 名前:デフォルトの名無しさん [2006/02/26(日) 17:34:14 ] commonsだけじゃないんだけど、既存のプロジェクトで使われてるjarのバージョンを正確に知る方法とか ツールってなんかありますか? 引き継いだはいいけどライブラリのバージョンに関する情報が無くて・・・orz いちいち全部クラスとかプロパティの存在有無とかで当たりつけるしかないのかなぁ・・・。
531 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 17:46:20 ] >>530 jar内のMANIFEST.MFに書いてあることもある。Jakartaのはだいたい書いてあって気がするよ。
532 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 19:41:13 ] MANIFEST.MFになければhashやサイズで比較するとかかな。 内容で比較するのはしんどいでしょ。
533 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 00:09:23 ] >>531 >>532 レスありがとうございます。 やっぱり全部共通で調べられるような楽な方法はないっすよね。 でもMANIFEST.MFとかサイズで比較ならなんとかなりそうなんで、いっちょやってみます! ありがとうございました。
534 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 10:17:56 ] あるファイルの、エンコード種別を判断するクラスはあるでしょうか。 読込むファイルの文字コードをPGで判断しろといわれてしまいました。
535 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 12:09:41 ] Converterで、配列を変換することはできないのでしょうか。
536 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 12:55:02 ] なんのConverterだよ
537 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 13:08:56 ] >>536 ConvertUtils.register()に追加できるConverterです。
538 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 13:18:25 ] BeanUtilsのConverterか?だったらできる。 何の話をしているのかわからない質問するなよ
539 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 14:56:51 ] >>538 すんませんす。 ありがとうございます。
540 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 11:44:45 ] 「2M」の文字情報を、byte単位の文字情報に変換するクラスはあるでしょうか。 FileUtilsの逆みたいなものです。 単純に、byte変換クラス見たいのがあればいいのですが
541 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 19:28:38 ] >>540 自分で見つけました。 String prefix = ModuleUtils .getInstance() .getModuleConfig(request, application) .getPrefix(); return (ValidatorResources) application.getAttribute( ValidatorPlugIn.VALIDATOR_KEY + prefix);
542 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 11:42:01 ] CollectionUtilsで、重複したデータを取得することはできるでしょうか。 Beanのリストに対し、BeanPredicateなどで、比較対照項目を絞り込んで そこから重複を取得したいです。
543 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 21:55:41 ] >>534 文字エンコードに "Shift_JIS"とか"EUC-JP"とかのかわりに "JISAutoDetect"ってやるのがいちばん簡単 それが信用できないなら(実際あまり当てにならないけど) ↓をよくよんでガンバレ www.mars.dti.ne.jp/~torao/program/appendix/japanese.html
544 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 22:48:40 ] >>543 とんでもないことすすめるなよ
545 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 12:31:08 ] >>541 誤爆??? >>540 とは関係なくない? ↓に全く同じ投稿あったけど。 pc8.2ch.net/test/read.cgi/tech/1109465052/669 > >>668 > 自分で見つけました。 > String prefix = > ModuleUtils > .getInstance() > .getModuleConfig(request, application) > .getPrefix(); > return (ValidatorResources) application.getAttribute( > ValidatorPlugIn.VALIDATOR_KEY + prefix);
546 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 12:56:41 ] んなこともあるさ
547 名前:デフォルトの名無しさん mailto:sage [2006/03/13(月) 18:45:51 ] >>544 これは結構危険なのでしょうか?
548 名前:デフォルトの名無しさん mailto:sage [2006/03/13(月) 23:20:07 ] いまどき文字コード自動判別とか馬鹿じゃねえの そんなこと要求するやつ糞食わしていいよ
549 名前:デフォルトの名無しさん mailto:sage [2006/03/14(火) 09:15:21 ] >>547 危険つーか、大体でしか判別できないのでハズレる可能性あり
550 名前:デフォルトの名無しさん mailto:sage [2006/03/14(火) 10:23:10 ] 自動判別の難しさと不確実さをきちんと説明して それでもPG側でやれって言うならやればいいだろう。 それで問題が起きても指示した人間の罪だ。 きちんと説明してさえあれば。
551 名前:デフォルトの名無しさん mailto:sage [2006/03/14(火) 16:01:53 ] >>551 それに加え、何かしら仕様書なんかに書いておくのは必須だな。 後になってから「そんなの聞いてない」 とかいう客よくいるから。
552 名前:デフォルトの名無しさん mailto:sage [2006/03/15(水) 20:48:27 ] そうだな、証拠は残すべき たとえ、客が仕様書を読んでないとしても。
553 名前:デフォルトの名無しさん mailto:sage [2006/03/16(木) 23:35:26 ] Java以外だとエディタとかで自動判別する奴結構あるじゃん? あれってどーやってんの?
554 名前:デフォルトの名無しさん mailto:sage [2006/03/17(金) 15:41:55 ] 日本語の場合、 1. iso-2022-jpだとそれを示す並びがあるので判別可能。 2. euc-jp と shift_jis は本質的に判別が難しいが、片方のエンコードにはあるのに、 もう片方のエンコードにはないコード列が存在するので、 それを検出した段階で判別可能。 ってやり方だと思う。 早い話、「片方のエンコードにしか存在しないコード列」を使っていない文章は判別不可能になる。 自動判別持ち出すんなら、そういうケースに対して どう対処すべきかくらい考えてて然るべき。 何も考えていないんなら、ただのバカ。
555 名前:デフォルトの名無しさん mailto:sage [2006/03/17(金) 22:28:18 ] BeanUtils.getPropertyで、以下の"aaa"の値を出そうとしていますが、 下記の通りに書いてもエラーになります。 値をとる方法はあるでしょうか? Map map = new HashMap(); map.put("aaa", "bbb"); List list = new ArrayList(); list.add(map); Map top = new HashMap(); top.put("list", list); BeanUtils.getProperty(top, "list[0].aaa"); BeanUtils.getProperty(top, "list[0](aaa)"); BeanUtils.getProperty(top, "list.aaa");
556 名前:デフォルトの名無しさん mailto:sage [2006/03/20(月) 13:23:53 ] >>555 それは無理だな。 リストのマップも、マップのリストも無理だよ。 リストマップともに扱いが特別だから、併用は難しいね
557 名前:デフォルトの名無しさん mailto:sage [2006/04/20(木) 17:34:51 ] BeanUtilすげー賢いね。 booleanに文字列の1とか突っ込んだらちゃんとtrueにしてくれた。 1以外はすべてfalseね。 こりゃー便利だわー。
558 名前:デフォルトの名無しさん mailto:sage [2006/04/20(木) 20:08:17 ] Cなら0がfalseで他がtrueにならね?
559 名前:デフォルトの名無しさん [2006/04/21(金) 23:12:26 ] commonsのライブラリ同梱でアプリ配るときって、どうすればいいの? なんか一緒に入れとかなきゃいけないファイルとか教えて。
560 名前:デフォルトの名無しさん mailto:sage [2006/04/22(土) 00:52:55 ] Apacheの製品を含んでいるアプリを配布する場合は 「This product includes software developed by the Apache Software Foundation www.apache.org/ 」 とどこかに明記していればOK。 たとえば、Eclipseだとメニューバーのヘルプの「Eclipse SDKについて」を参照すると これが書いてある。 アプリのライセンス文に上記の一文を含めておくのでも良い。 あとはかなり自由。ソースコードの公開義務や添付義務は無い。商用利用OK。
561 名前:デフォルトの名無しさん mailto:sage [2006/04/22(土) 01:55:47 ] >>559 ASL 2.0の翻訳がここにある。 ttp://www.opensource.jp/licenses/apache2.0.html バイナリ再配布に絡むところとしては、 > 1. 成果物または派生成果物の他の受領者に本ライセンスのコピーも渡すこと。 > 4.成果物の一部として「NOTICE」に相当するテキストファイルが含まれている場合は、 > そうしたNOTICEファイルに含まれている帰属告知のコピーを、派生成果物のどこにも > 関係しないものは除いて、頒布する派生成果物に入れること。その際、次のうちの少 > なくとも1箇所に挿入すること。 > > (i) 派生成果物の一部として頒布するNOTICEテキストファイル、 > (ii) ソース形式またはドキュメント(派生成果物と共にドキュメントを頒布する場合)、 > (iii) 派生成果物によって生成される表示(こうした第三者告知を盛り込むことが > 標準的なやり方になっている場合)。 上記は結構省略してるので、自分でも全文を見て欲しい。さらに言えば、日本語訳は あくまで翻訳なので、ライセンスとしては英文のみが有効。 まあ大ざっぱに言うと 1. Apache Software Licence 2.0の原本(英文)のコピーを配布物に含めること。(日本語訳も 一緒に配布している例もあるけど、英文のものは必ず含めること) 2. 利用したASLベースの成果物に「NOTICE」というファイルが含まれている場合、その内容を 以下のいずれかに必ず含めること。 ・あんたのプログラムにNOTICEファイルがある場合は、その中。 ・ドキュメントあるいはソースの中 ・あんたのプログラムでライセンスとかについて表示しているところがあるなら(例:アバウト画面)その中 >>560 の言っているのが、上記の2に該当する。 それに含めてASLの書かれたファイルを一緒に添付しろってこと。
562 名前:561 mailto:sage [2006/04/22(土) 02:02:38 ] 追記。 あと、NOTICE表示に自分の派生物についての告知を追加してもいいんだけど、 その追加ライセンス条項がASL 2.0の修正であるかのように読まれないようにしろ、 という条件もある。 要は ・この配布物にはASL 2.0ライセンスの成果物が含まれてる。 ・この配布物のライセンス条件は俺がきめたこれだけど、APL 2.0ライセンスの成果物に ついてはあくまでAPL 2.0の条件下にあるよ。 ということを保証しろ、ということ。APL 2.0には、配布物によって損害を被っても Apache Software Foundationは知らんよ、という条項があって、もしライセンスを独自のもの にするとしても、APL2.0成果物についてはAPL2.0の条件下にあることを理解させろ、という ことだと思う。
563 名前:559 [2006/04/23(日) 20:41:41 ] >>560 >>561 丁寧な説明ありがとう! 意外と簡単に配布できるんだね。
564 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 13:32:52 ] 2つ以上のInputStreamから読込み待ち?することはできるでしょうか。 例えば、標準入力とネットワークストリームを常に読込みスタンバイして データが転送されたストリームのデータを取得するとか。 IOUtilsには、らしきものがなかったような・・・
565 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 13:46:02 ] そりゃcommonsじゃなくて質問スレだな スレッド分けて待機させればいいだけだが
566 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 17:25:26 ] Configuration#getProperties()の機能ってわかる人いますか?
567 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 18:42:32 ] ノシ
568 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 15:20:09 ] PropertiesConfiguration#setProperty同期とってねー。 パッケージの全ソースgrepしたけど、synchronizedが4箇所だけで、セットとは関係ないところに・・・
569 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 15:04:24 ] Commons Configuration はまだバグが多いので 使い勝手がよろしくないなー。 自動リロード戦略クラスを適用しても 瀬定ファイルの修正を監視してくれなかったし。
570 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 10:28:44 ] >>569 瀬定ファイルってなに? 監視はうまく動いてたよ
571 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 00:29:15 ] C#版Commonsみたいなプロジェクトとかってないの? 誰かガッツンガッツン移植してよ。
572 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 00:59:59 ] >>571 .net で C# 限定にする意味があんのか?
573 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 01:34:03 ] マイクロソフト自身がJakarta Projectみたいなことしてて いろんなライブラリをソースごと公開してるんじゃなかったっけ。 おれは良く知らんのだけど。
574 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 11:04:54 ] >>570 設定ファイルのtypo XMLファイルのviで編集しても 監視が反映されていなかたことがある。 XMLConfigurationという奴だったかな? もうひとつ、XMLPropertiesConfigurationもうまくいかず
575 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 11:06:36 ] >>573 下手に移植するとApache Software License違反に なるんじゃないのか? NantとかNUnitとかいうのがM$に吸収されてはいるが。 ライセンス形態をBSDにするとすべてマイクロソフトに持ってかれるが ASLだとそうはいかないと思うのだが。
576 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 12:03:39 ] >>574 のるほど。 ただ、Configurationは便利だね。 MapやPropertiesに変更できることも大きいし。 ソースをそんなに変更しなくても、MapやPropertiesから移植は簡単だ
577 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 17:05:38 ] >>575 いや、Jakartaを移植してるんじゃないよ。共用コンポーネントを 作ってるってだけで。 どこでみたんだっけと思って検索したら@ITだった。 ttp://www.atmarkit.co.jp/fdotnet/entlib/index/index.html
578 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 19:38:11 ] SandboxのIdって、jarリリースしていないのでしょうか。ソースしかありません。
579 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 23:38:16 ] >>577 Enterprise Libraryみたいな大規模向け(?)っぽいのじゃなくて、commonsのlangとかみたいな小粒なやつが欲しいんだよー。 参照設定にdllの参照追加するだけでOK、って感じの。 どっかそーゆーの作ってる人いないのかな? ASFって.NET系にはあまり力入れてないの?
580 名前:デフォルトの名無しさん [2006/05/03(水) 12:53:27 ] すいません、配布に関して質問なんですが、commonsの中の使用したいクラスのみ取り出して 自分のjarに含めてしまう、といった配布方法は可能ですか? もちろん>>561 さんご指摘の点は守るとしてです。 commonsのjar内のクラスを全部使っているわけではないので、できれば配布ファイルのサイズを抑えたいのですが・・・。
581 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 13:41:02 ] >>579 > ASFって.NET系にはあまり力入れてないの? 聞いたことがない。 背後でJavaやLinuxを推しているIBM等の企業がかかわっているらしいからなあ。 MS製品対応ソフトウェアの開発はやっていなさそうな気がする。 なにせ、MSはオープンソースを嫌っているし、オープンソースは共産主義だ などめちゃくちゃなこといっているし。 GPLとくらべたらASLは共産主義とまではいかないんだけどね。 たとえMSが一部の自社製品をSourceForgeに公開したとしても オープンソース全体を敵に回すような不可解な発言が、 無理して.NETに力を入れない方がいいという暗示を示しているのではないかと。 それで今.NETが流行らなくなっているような
582 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 22:38:47 ] >>581 聞いたことが無いって、あーた log4net とかも聞いたこと無いの? .net も言うほど、死んでないよ。俺は Java メインだが、 今は .net 案件のほうが単価が上げれる。色々な会社の話を聞く限り .net で技術的に自信を持っている会社が少なくて、金額的にはおいしい。
583 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 22:40:24 ] >>582 Enterprise Libraryのことだろ。 しかしJakartaとくらべるとまだまだものが少ないし オープンソースコミュニティの活発さが足りないし、 まだまだって感じがする。
584 名前:デフォルトの名無しさん mailto:sage [2006/05/09(火) 19:03:28 ] org.apache.commons.mailいけるぞ!
585 名前:デフォルトの名無しさん [2006/05/09(火) 22:32:31 ] Commons Mail? Java Mail APIを補足するやつなのか? どうういけるのか感想きぼんぬ
586 名前:デフォルトの名無しさん mailto:sage [2006/05/09(火) 22:43:36 ] おれは584じゃないが、かなり簡単にメールが送れるね。 Perlでメール送る時みたいな感じといったらいいのかな。 setTitle()とかsetFrom()とかしてからsend()よんだらメールが 送れてしまう、というやつです。 添付ファイルやHTMLメールもさっくり送れます。 内部ではJavaMailを使ってるらしい。
587 名前:デフォルトの名無しさん mailto:sage [2006/05/09(火) 22:43:54 ] >>585 すごーくシンプルだから、Webサイト見れば一発で理解できると思う。 JavaMailのうすーいラップのようなもの。 new()して、TOやらCCやらFROMやらSubjectやらをセットして、send()呼べば送れる。 ちょうどJavaBeansのようにsetterでセットする形になってるから、DIコンテナでJavaBeansとして扱えるカモ。
588 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 00:11:44 ] >>587 いいねー。Commons の HTTP 扱うやつより、よっぽど需要がありそうだ。 っつか、そこらじゅうの業務プロジェクトに似たようなのがあったのが いらなくなるな。
589 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 00:51:01 ] >>588 そうそう。いつもみんな自前で似たような、しかし出来の悪い物を作っていたアレだ。 もう作らなくてよくなる。
590 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 01:36:24 ] Java Mail APIが使いやすくなるのか。 ええなあ。 内部でJava Mailを使っているということは、 Mavenで導入するときは自分でmail.jarとactivation.jarをダウンロードして mvn installでローカルリポジトリに追加しないといけないのか。
591 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 01:55:52 ] >>590 そうだね。バイナリ版をダウンロードしても、libフォルダ内にテキストファイルが 入っていて、「mail.jarとactivation.jarを別途ダウンロードしてね」と書いてあった。
592 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 10:02:30 ] 探せばまだまだある。 commons-transactionだって使えるぞ。 ファイルの追加、削除、リネームをして、 ヤベ、戻したいっと思ったときにロールバックをかけるときれいさっぱりに
593 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 12:31:42 ] >>592 DB がからむと使い方が難しそうだ。 2 フェーズコミット問題。JTA みたいなのを自作っつーのもあれだ。 厳密でなければ、良さげ。
594 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 12:59:40 ] >ヤベ、戻したいっと思ったときにロールバックをかけるときれいさっぱりに きれいさっぱりに消えてしまうんですか!? (((;゚Д゚)))ガクガクブルブル
595 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 13:49:38 ] >>594 ちゃんと言うと、DBのトランザクションと同じで コミットしないと、対象ディレクトリに作成・削除が実行されないって事。 つまり、コミットまではワークスペースに対して実行されている。
596 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 00:00:06 ] mail試そうと思ったらサーバ落ちてる・・・
597 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 11:01:21 ] XMLを読み込むフレームワークで、DigesterとかBetwixtとか見てるんだけど、 XMLの内容を格納するbeanを明示的に書かなくてもいいものって無いかな? XMLのパース → BeanUtilなどでパース結果を格納したbeanを動的生成 までやってくれて、利用者側は、あくまでXMLをAPIに読み込ませて、 結果として返されるDynaBeanとかを利用するだけ、みたいな。
598 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 12:14:31 ] commons ではないけど xmlbeans や relaxer でどう? DynaBean 的なものではないけど、 人間がやるのはスキーマを書くところだけ。 マッピングクラスの定義は自動生成する。
599 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 13:20:58 ] 両方見てるんだけれど、スキーマも書きたくないヘタレ厨('A`)としては、 もっと手を抜きたいんですわ。 ってことで、マッピングクラスは作らないといけないけど、XerialJ/XMLBeanっていうのを見つけた。 ttp://www.xerial.org/projects/Xerial/wiki/XerialJ/XMLBean Digesterよりは楽そう。 ライセンスは、 Indiana University Extreme! Lab Software License ってものらしいけど、 ttp://www.novell.com/ja-jp/documentation/workbench41/docs/help/books/TutorialWarfront.html で見たライセンスの翻訳見る限りは、商用利用でも制限無さそう。
600 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 14:05:44 ] 俺はスキーマ書くだけで ・コンパイラによるチェック ・入力補完 で手が抜ける方が素敵に感じる。 まぁ人それぞれっすね。
601 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 14:25:50 ] >>599 Betwixtですむよ。定義いらない(Betwixt自身で吐き出したxmlならね)。
602 名前:599 mailto:sage [2006/05/11(木) 17:35:13 ] いろんな考え方があるねぇ。。。 自分に合ったものを選べばいいってことなんだろうけど。 早速、XerialJ/XMLBeanを試してみたけど、 格納するBeanさえ作ってしまえば楽ちんだわ、これ。 日本語もOK。
603 名前:デフォルトの名無しさん mailto:sage [2006/05/11(木) 17:49:31 ] >>602 配列じゃなくリストは対応できるのかぁ・・・
604 名前:デフォルトの名無しさん mailto:sage [2006/05/12(金) 09:29:16 ] >>603 格納先Beanに、配列の代わりにListを使うとダメみたい。
605 名前:デフォルトの名無しさん mailto:sage [2006/05/12(金) 09:44:51 ] >>604 Betwixtならできるぞよ
606 名前:デフォルトの名無しさん mailto:sage [2006/05/12(金) 11:07:04 ] >>605 まぢっすか。 Betwixtの勉強によさげなサイトとか紹介してもらえませんか。
607 名前:デフォルトの名無しさん mailto:sage [2006/05/12(金) 13:48:02 ] XerialJ、配列ってのを気にしなければ、 けっこーネストしたxmlでもbeanさえ作っておけば 処理してくれるね。
608 名前:デフォルトの名無しさん mailto:sage [2006/05/12(金) 20:48:32 ] >>604 Beanにset/getの2つのメソッド以外に、addを用意するのがミソ。
609 名前:デフォルトの名無しさん mailto:sage [2006/05/12(金) 22:15:15 ] >>608 Betwixtもそうだよ。 まぁ、みんな同じだね・・・
610 名前:デフォルトの名無しさん mailto:sage [2006/05/13(土) 01:03:49 ] まぁ、いろんな技術要素を知っておいたほうが、 選択肢や対応力は広がるよね。
611 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 04:56:52 ] beanutils が遅いと聞いたのでどれくらい遅いか試してみました。 プロパティファイルから取得したプロパティをbeanutilsで入れるのと、 setterで入れるのを比較しました。 Bean は int boolean String のフィールドを持ち、 setter では、 それぞれ Integer.parseInt Boolean.valueOf.booleanValue Stringはそのまま を使用しました。 beanutils ではPropertyNameをEnumerationで取得して while(enu.hasMoreElements()){ String name = (String)enu.nextElement(); BeanUtils.setProperty(bean, name, props.getProperty(name)); } これらを100万回ループさせた結果、 beanutils は 平均 7090.3 ms setter は 604.7 でした。
612 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 05:18:32 ] Bean の プロパティの数を増やし、 int 2個 boolean 2個 String 2個 にして、同様の実験をしたところ、 beanutils 平均 14372.4 ms setter 平均 1134.9 ms でした。 web の場合、1アクセスで3つのbeanを呼び出すとして、 そのbeanにプロパティが10個とします。 その場合上の結果から、100万回アクセスがあると、 7090 * 10 / 3 * 3 = 70900 100万回で、beanutilsの部分だけで71秒もかかってしまうのですが、 これはボトルネックになりうると思ったんですが、 1アクセスあたり 0.0000709秒なのでDBからデータの取得のほうが全然重そうですね。
613 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 19:42:58 ] >>612 配列に比べコレクションが重いとか String の + 連結が遅いとかもその類だな。 システム構築の標準化を行う人間で、 そういうのを禁止する奴がいて困る。 全クラスをシングルトンにするとかバカもいたしな。 要件がきついシステムもあるので全否定するわけではないが、 そんなんだったら環境を改善するか、Java やめたほうが(ry 巷の Java 初心者のなんちゃってアーキテクトをなんとかしてくれ。 あー、あんたの検証した DB がボトルネックというのは概ね正しいと思う。
614 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 14:26:27 ] Digesterのルールを自動生成するeclipseプラグインなんてあるのだろうか・・・
615 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 15:05:29 ] commonsみたいな、ユーティリティをフリーで提供している団体ってあるのかなぁ・・・
616 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 17:49:22 ] >>615 xerial.org
617 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 13:31:20 ] 大きなフレームワークを駆使するよりも、 細かいcommonsをフル活用したほうが作業効率がかなり上がるような・・・ まぁ、比較する対象としてはおかしいけど。
618 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 14:24:07 ] >>617 commonsをあさって機能を試して・・・というのにどのくらい時間がかかるか。
619 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 15:58:34 ] >>618 いや、そんなに掛からない。
620 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 16:23:37 ] >>618 commonsを知って試しに使ってみるまで3時間くらいかかりました
621 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 19:04:22 ] >>620 そーかなぁ・・・。API見たらわかりやすかったから 結構直感的にいけたけど・・・
622 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 19:20:14 ] Commons次第。 Collections、IO、FileUploadあたりなら、APIとUser Guide見ればすぐ使えるけど、 Digester、Validatorあたりだと、API見てすぐに、とは行かないと思う。
623 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 22:44:19 ] >>620 その試した機能を自分で実装したら3時間で済んだのか?
624 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 23:19:44 ] ライブラリによっては依存関係や バージョン違いに 引っかかってCommonsライブラリを使えるようになるのに 何日もかかったことがあったな俺は。 Maven2が出てからその手間も大幅に省けるようになったのが嬉しい。
625 名前:デフォルトの名無しさん mailto:sage [2006/05/24(水) 18:06:26 ] strutsのaction-mappingのformの検索をしているのですが、 ファイル検索だと、関係ない箇所のまで名前一致で引っかかるので苦労しております。 xmlのスキーマを理解し、<a><b>xxx</b></a>だと、<a><b>のxxxを探す、というプラグインはないでしょうか。 つまり、xmlファイルに対して、xpath検索できるものです。
626 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 00:27:47 ] >>625 JXPathでちょちょいと実装、ってのじゃだめ? 大した手間じゃなさそうだし、好きに作れるじゃん。
627 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 11:31:31 ] >>626 実はJXPathで実装して、検索できましたー!って思ったのですが、 検索はできても、その定義がファイルの何行目であるかの情報が取得できなくて断念しました。 ちなみに、JXPathで質問ですが、 ibatisの設定ファイルを読込むと、 設定ファイルのdtd設定が下記のようにしてあり、 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "www.ibatis.com/dtd/sql-map-config-2.dtd "> どうも、www.ibatis.comにアクセスしています。 ネットワークにつながらない環境なので、エラーになってしまします。 ソースは↓です。 DocumentContainer location = new DocumentContainer(XXClass.class.getResource("/jxpath/sql-map-config.xml")); JXPathContext context = JXPathContext.newContext(location); ネットワークにつなげない方法などあるのでしょうか?
628 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 23:01:26 ] >>627 sql-map-config-2.dtd を落としてくるか、配布ファイルのどっかに入ってるだろうから それを設定ファイルと同じディレクトリに置いて <!DOCTYPE beans SYSTEM "sql-map-config-2.dtd"> に変えてみたらどう? 確か PUBLIC じゃなく SYSTEM使えばローカルファイル見てくれたと思った。 今試してないんで、やってみ。
629 名前:628 mailto:sage [2006/05/25(木) 23:03:33 ] 間違えた。 <!DOCTYPE sqlMapConfig SYSTEM "sql-map-config-2.dtd"> だねきっと。 あと × 今試してないんで、やってみ。 ○ 今試せないんで、取りあえずやってみ。 と書くつもりだった。 疲れてんなーorz
630 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 11:12:57 ] >>628 ありがとうございます。 取り合えずレス見る前にやってみたのは "jar:file:C:/xxx/ibatis-sqlmap-2.jar!/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd"> でいけました。 クラスパスからの検索ができれば、フルパスを書かなくてもよく、環境依存しないのですが・・・ ちなみに、超強引な方法として、extends DocumentContainerしたクラスを作成し public Object parseXML(InputStream stream) { String data = IOUtils.toString(stream); //正規表現で"<!DOCTYPE.*?dtd\">"を空に変更。 } catch (IOException e) { throw new RuntimeException(e); } stream = IOUtils.toInputStream(data); return super.parseXML(stream); } のクラスを使用してもうまくいきました。
631 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 15:00:17 ] FTP超つかえる 超感動 f = new FTPClient(); f.connect("xxxx"); f.login("xxx", "xxx"); FTPFile[] files = f.listFiles("xxx");
632 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 12:15:59 ] >>631 sftpではどうしたらいいの?
633 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 14:45:04 ] >>632 ttp://jakarta.apache.org/commons/vfs/apidocs/org/apache/commons/vfs/provider/sftp/package-summary.html
634 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 00:44:13 ] >>633 Commons NetじゃなくてCommons VFSにあるんだね。 なんでだろ?
635 名前:デフォルトの名無しさん [2006/06/18(日) 02:52:24 ] Commonsじゃないけど HttpComponents jakarta.apache.org/httpcomponents/ こんなんあるんだね。 今日初めて知った。 Http直に触る必要がある時とかにSocket叩くよりは便利、って感じなのかな? 誰か使ってる人いる?
636 名前:デフォルトの名無しさん mailto:sage [2006/06/19(月) 01:04:51 ] HTTPClientの次期バージョンが独立しただけでは?
637 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 22:14:34 ] >>636 え?そうなの? じゃあHttpClientはいづれなくなっちゃうのか。
638 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 22:32:42 ] Commonsからはなくなる ただ、まだbetaなのでVer3はのこしている、だったかな
639 名前:デフォルトの名無しさん mailto:sage [2006/06/22(木) 00:22:05 ] >>638 なるほど〜。ありがとう! じゃあこれから覚えるにはこっちのがいいかもだねー。
640 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 18:38:31 ] ibatisのSqlMapClientは、スレッド毎にbuildしないといけないのでしょうか? 1つのSqlMapClientはでかいので、何とか1つにしたいのですが。
641 名前:デフォルトの名無しさん [2006/06/25(日) 16:34:55 ] >>635 今alpha2が出てるんで色々と使ってるけど、SSL周りがあやしい、超あやしい。テストしてない予感。 接続を切る時に java.lang.UnsupportedOperationException: The method shutdownOutput() is not supported in SSLSocket が出る(当方 java 1.4.2_12-b03、1.5.0_07-b03でも出る)。 英語が苦手だけど、調べてみるとSSLってhalf-openはよくないらしい?で、J2SE 1.4からサポートしなくなった、みたい?(いずれにしても、closeする時はthis.socket.close()の一発でOKみたいだ) だれか、プロジェクトに通報してやってくれ! [AbstractHttpConnection.java:153-161] try { this.socket.shutdownOutput(); } catch (IOException ignore) { } try { this.socket.shutdownInput(); } catch (IOException ignore) { } this.socket.close();
642 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 17:54:47 ] >>641 英語苦手だからなぁ・・・。 そもそもJakartaプロジェクトとかにこーゆーバグとかを報告する手順ってどうやるの? 誰か詳しい人、解説して下さい。
643 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 17:47:13 ] >>640 自己解決。複数スレッドで使いまわしOKだった。
644 名前:デフォルトの名無しさん mailto:sage [2006/06/30(金) 23:55:53 ] >>642 最近だとJiraを使う。 ttp://issues.apache.org/jira/browse/HTTPCLIENT この辺でどう?
645 名前:デフォルトの名無しさん [2006/07/04(火) 21:06:55 ] 時給1000円でJava教えてくださるかたを募集します 場所 所沢(池袋・高田馬場から直通) i−want−to−study−java@hotmail.co.jp (アドレスは全角で書いてあるので半角に直してください) よろしくおねがいします
646 名前:デフォルトの名無しさん [2006/07/04(火) 21:50:13 ] >>645 なにこれ?
647 名前:デフォルトの名無しさん [2006/07/04(火) 22:06:14 ] >>646 JAVAスレの保守
648 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 22:32:27 ] >>645 java.sun.com/docs/books/jls/third_edition/html/j3TOC.html コレを読めwwwwwwマジオススメwwwwwwwww まさにjavaのバイブルwwwwwww
649 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 03:43:06 ] 言語仕様だけわかってもなあ… せめてJakartaくらい押さえんと。
650 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 03:59:29 ] 押さえても押さえても抜け落ちていくJakartaかな
651 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 12:03:03 ] じっと手を見る
652 名前:デフォルトの名無しさん [2006/07/05(水) 15:17:09 ] トンヘの小島の磯の白砂に ウリ泣き濡れてカニとたはむる
653 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 00:04:12 ] ところで今、Jakartaって何があるの?
654 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 00:10:56 ] >>653 聞いて回答を待つより見た方が早いと思うけど・・・ つ jakarta.apache.org/
655 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 12:07:19 ] >>653 ココが分かりやすい ttp://www.biwa.ne.jp/~x208403/ >>654 ボケろということだろ・・・
656 名前:デフォルトの名無しさん [2006/07/06(木) 14:37:44 ] WEBサーバのメンテ、だいぶかかってるな・・・
657 名前:1 [2006/07/07(金) 01:50:00 ] はじめましてはじめともうします。 common-fileuploadを利用したファイルアップロードクラスを 作成したいのですが、うまくいきません。 commons-fileuploadのServletのサンプル(doPostメソッド による処理)ではうまくいくのですが・・・ uploadClassの List objLst=objDfu.parseRequest(request); の値がnullになることまでは確認できましたが なぜそうなるのかが分からない状態です。 大変恐縮ですがご指摘・ご教授の程お願いします。
658 名前:2 [2006/07/07(金) 01:52:05 ] --------------------------------- Action --------------------------------- import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import test.uploadClass; public class testAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception { // アップロードクラスをインスタンス化 uploadClass uploadclass = new uploadClass(); // アップロードを実行 uploadclass.upload(request,response); return mapping.findForward("success"); } }
659 名前:2 [2006/07/07(金) 01:53:42 ] --------------------------------- ActionForm --------------------------------- import org.apache.commons.fileupload.DiskFileUpload; import org.apache.struts.action.ActionForm; import org.apache.struts.upload.FormFile; public class testForm extends ActionForm{ private DiskFileUpload files; public DiskFileUpload getFiles() { return files; } public void DiskFileUpload (DiskFileUpload files) { this.files = files; } }
660 名前:2 [2006/07/07(金) 01:55:51 ] public class uploadClass extends HttpServlet { public void upload(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ //String path = getServletContext().getRealPath("."); String path = new String("."); DiskFileUpload objDfu = new DiskFileUpload(); objDfu.setSizeMax(-1); objDfu.setSizeThreshold(1024); objDfu.setRepositoryPath(path); objDfu.setHeaderEncoding("Shift_JIS"); try { List objLst=objDfu.parseRequest(request); Iterator objItr=objLst.iterator(); while (objItr.hasNext()) { FileItem objFi=(FileItem)objItr.next(); if (!objFi.isFormField()) { String strNam=objFi.getName();
661 名前:2 [2006/07/07(金) 01:57:32 ] if (strNam!=null && !strNam.equals("")) { strNam=(new File(strNam)).getName(); objFi.write(new File(path + "/" + strNam)); } } } } catch (FileUploadException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }
662 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 12:26:05 ] オフィシャルのFAQにそれっぽいのがあるけど、確認した?
663 名前:デフォルトの名無しさん [2006/07/08(土) 02:54:08 ] Jakartaの名前の由来って何?検索しても都市しかでてこない
664 名前:デフォルトの名無しさん mailto:sage [2006/07/08(土) 03:39:45 ] ジャワ島(Java島)にある都市ジャカルタだろ。
665 名前:デフォルトの名無しさん mailto:sage [2006/07/08(土) 08:19:14 ] SunがJDWSDK(その後のTomcat)をASFに寄贈した時に調印を行った会議室の名前。
666 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 00:38:34 ] へートリビアだな
667 名前:デフォルトの名無しさん [2006/07/17(月) 20:57:15 ] 時給1000円でJava教えてくださるかたを募集します 場所 所沢(池袋・高田馬場から直通) よろしくおねがいします i−want−to−study−java@hotmail.co.jp 教える対象は超初心者です。 専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
668 名前:WildBoa [2006/07/17(月) 21:50:39 ] DataBaseへの接続設定ファイルの保存用にXMLを使用しようとして勉強をしております。 @ITにおいて、Digesterの解説があったので、これをサンプルとして、動作させようとしてます。 記事:ttp://www.atmarkit.co.jp/fjava/rensai2/jakarta04/jakarta04.html#list2 ソース:ttp://www.atmarkit.co.jp/fjava/rensai2/jakarta04/sample.zip ところが、ClassNotFoundExceptionが発生して、実行できません。 大変恐縮ですが原因・対応のご教授をお願いします。 発生したエラー 2006/07/17 21:40:46 org.apache.commons.digester.Digester startElement 致命的: Begin event threw exception java.lang.ClassNotFoundException: net.skirnir.sample.DataSourceConfig 環境 OS :WindowsXP Home SP2 JDK:1.5.0_07 IDE:ECLIPSE 3.1.1(コンパイラー準拠レベルでJDK1.4を指定) commons-digester:1.7 commons-beanutils:1.7 commons-collections:3.2 commons-logging:1.1 以上です
669 名前:デフォルトの名無しさん [2006/07/17(月) 22:00:12 ] bbs.girlswalker.com/pc/
670 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 22:01:14 ] Digesterは結構バージョンによってタグや属性名が変更になってるから注意が必要 Webページの解説がどこもてんでばらばらなんで DigesterのDTDを読んだ方がいいよ
671 名前:デフォルトの名無しさん mailto:sage [2006/07/18(火) 13:24:26 ] >668 添付のソースをコンパイルして、 しかるべき場所にクラスパス通した? zip の中の構造がパッケージ無視してるっぽいんだが。
672 名前:WildBoa [2006/07/19(水) 01:01:55 ] >670,671 ありがとうございます。 ソースを「\net\skirnir\sample」において コンパイル・実行しております。 又、「config.xml」は「.\」においております。 各ライブラリはJREの「\lib\ext\」に展開してありますが、 他に何か設定が必要になるのでしょうか? >しかるべき場所にクラスパス通した? 何処かクラスパスを通す必要があるのでしょうか?
673 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 06:44:41 ] ¥net¥skirnir¥sampleなら¥にクラスパス通さなきゃ
674 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 08:20:47 ] >各ライブラリはJREの「\lib\ext\」に展開してあります おい!ちょっと待て!
675 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 10:30:14 ] >672 Digester に手を出す前にまずやるべき事が有りそう。 Digester 固有の問題じゃないので とりあえずしかるべき場所(初心者スレなど)で 環境設定の仕方を聞いてきた方が良いよ。
676 名前:WildBoa [2006/07/19(水) 23:15:25 ] >674様、 Jakarta CommonsのライブラリをJREのlib\extに展開している件ですが、 何かまずかったでしょうか? 作成したプログラムは配布しないのですが... JavaHouseの下記のスレッド程度は理解しているつもりなのですが... >ttp://java-house.jp/ml/archive/j-h-b/037700.html
677 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 23:31:23 ] >>676 使い方を間違っている。 特定のアプリで利用するライブラリを置く場所ではない。 そこは、JVMそのものを拡張するとかJVMにパッチを当てる的な使い方をする場所。 そのJVM上で動作する全てのアプリに影響する。 そのJVMを、そのアプリでしか使わないことが保証されているなら、事実上問題は起きないことにはなるが・・・ それでも「とりあえず、動けばOK」的な発想。 そのJavaHouseのスレッドを、ごく表面的にしか理解できていないようだね。
678 名前:WildBoa [2006/07/19(水) 23:42:38 ] >JVMそのものを拡張するとかJVMにパッチを当てる的な使い方をする場所。 677様、ご教授ありがとうございます。 674様、 ECLIPSEの「構成およびデバッグ」のクラスパスタブで、 ユーザーエントリーに\と\net\skinr.sampleを追加しておりますが、 追加の仕方に問題があるのでしょうか。
679 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 00:00:03 ] >>672 \net\skirnir\sample\において、さらに実行している場所は ちゃんと「\」なんだろうね。 あと、「.」がクラスパスに入っていないに1ドル。
680 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 00:00:21 ] >>678 問題有り。 余計な設定をして、必要な設定をしていない。 >ECLIPSEの「構成およびデバッグ」のクラスパスタブで、 >ユーザーエントリーに\と\net\skinr.sampleを追加しておりますが、 これは不要。Eclipseはソース・フォルダーは自動的にビルドパスに追加される。 そして、アプリで利用するJarファイルをビルドパスに含めなければならない。 Digester以前に、基礎から学ぶべきコトが多そうだな。
681 名前:WildBoa [2006/07/20(木) 00:30:47 ] 皆様ありがとうございました、解決しました。 680様の指摘どおり、ビルドパスが問題でした。 コードがコンパイルできていたので、安心しきっていました。 追伸 679様、WindowsのJava環境では「.」はデフォルトでクラスパスに 含まれておりませんでしたでしょうか?
682 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 09:23:59 ] >>681 まーインストーラは . をクラスパスに入れてたような記憶があるけどね。 SET CLASSPATH すりゃ判るじゃん。 環境変数なんざいくらでも変更できちまうんだから、 デフォルトを信用しすぎないほうが安全だと思われ。
683 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 09:59:15 ] >>681 どこにもclasspathを設定していない場合のみね。 デフォルト値なんてEclipseや環境変数の設定次第でいくらでも上書きされる。 ホント、中途半端な知識だね。
684 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 13:11:26 ] 遅レスだが、CLASSPATHのミスといい、lib\extの使い方といい QuickTime作ってる人かと思ってしまったw
685 名前:デフォルトの名無しさん mailto:sage [2006/09/24(日) 04:51:27 ] てs
686 名前:デフォルトの名無しさん [2006/10/13(金) 02:14:30 ] BeanUtils.describe(bean); 経由の シリアライズが超速いと不思議に思ってたら このメソッドって配列無視しちゃうのね orz どなかた別にCommonsじゃなくてもよいので、この問題に対応した Map <-> JavaBeanの相互変換ライブラリ知りませんか?
687 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 07:45:45 ] >>686 PropertyUtils.describeの方は確か配列もきちんと変換してくれるはず
688 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 18:14:36 ] >>687 どうもありがとう。
689 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:26:16 ] >>633-634 それ不安定だったのでおれJsch使ってる
690 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:27:09 ] >>641 SSL3.0やTLSに対応していないとか?
691 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:28:34 ] >>655 おもろいw
692 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:29:36 ] >>657-661 >>1 でも>>2 でもないのに名前欄に1とか2とかかかないでくれ
693 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:36:09 ] SCXML使ってる人、いるかい?
694 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:58:44 ] 最近、Jakarta CommonのMLのSubjectに[SCXML]と 名がつくメールが良く来るが、一体どんなもんなのだ?
695 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 02:49:30 ] >>694 ちょっとはぐぐれよ。
696 名前:デフォルトの名無しさん mailto:sage [2006/11/04(土) 21:49:28 ] 今、Commons-Dev MLで Generics対応Collectionsを既存のCollectionsのサブパッケージに するかどうか投票をしているようだ。 なんでそんなことが必要なのか流れを読んでいないのでわからないけど 俺個人としてはJava5のコレクションフレームワークの ようにそのまま使えるよう分離させないで欲しいなと思っている。
697 名前:デフォルトの名無しさん [2006/11/04(土) 21:52:20 ] あげ忘れた よくMLを読んでみるといくつかのクラスの削除またはリネーム などについて議論しているようだ > - BoundedCollection should be deleted/renamed to Bounded > new Bounded interface would not implement Collection, allowing it to be > implemented by Maps as well as Collections > > - UnmodifiableBoundedCollection should be deleted > Just use the isFull/maxSize methods on CollectionUtils or similar > > - AbstractSerializedCollectionDecorator should be deleted > Serialization can now be rolled up into the base decorator > This simplifies a lot of code > It wasn't done originally due to back-compat > > - TransformedCollection will need some thinking about to generify, as a > transformer can change object types > > - Consider adding a Decorator interface > This would provide a single method decorated() that obtains the > collection that has been decorated. > Whilst useful, this is also potentially dangerous exposure of state. > > - Consider adding a Container interface > This would be a base super interface for Collection and Map (but > obviously we can't hack the JDK. > > - Consider whether UnmodifiableCollection should be deleted as it > duplicates the JDK.
698 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 10:12:59 ] 10個の要素があるリストで、5、6、7、8、9,10,1,2,3,4って順にまわしてくれる iteratorないですか? 5でnextがfalseになるような感じです。
699 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 10:20:57 ] 開始する要素が固定とかだったら、自分で書いた方が早いんじゃない?
700 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 12:01:25 ] >>698 なんで10の次が1になるのか。 まず最初に5から読み込むがいきなりfalseになって 結局回らない。 何がいいたいのかわからない。
701 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 12:30:02 ] こういうコンパイラ以上のことが出来ないやつは一生底辺プログラマだな >698 それ位はさすがに自分でコード書こう 応急処置としてsubListでばらして繋ぎなおすとか。
702 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:08:40 ] >>698 の日本語が変なので 具体的に彼が何がしたいのかよくわからない
703 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:17:41 ] >>702 要は、開始位置が指定できて、リストが持っている配列の最後にきたら先頭に戻るようにして 終了のタイミングは開始位置の1つ前、って事でしょ。わかれよ
704 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:32:35 ] test
705 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:33:49 ] で、そんなよく使うわけでもないモノはcommonsには無いし、書くのも簡単だから書けば。 で終了。
706 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:37:51 ] >>703 Bufferでやりたくなってくる
707 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:43:15 ] >>706 List から Buffer への変換やるのか。面倒くさそう。
708 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:50:06 ] Iteratorを継承して自作すればいい
709 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 17:51:58 ] >>703 それでも>>698 の言っている意味と合致していないような気がするが。 最後に5でnextがfalseになるようにしたい? 俺は、まずソートしてからIteratorを回したいと>>698 が 主張しているように見えたぞ
710 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 23:59:03 ] LoopingIterator
711 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 00:04:09 ] 「作ればいいじゃん」でFAですね。
712 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 00:06:58 ] >>711 >>710
713 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 10:48:27 ] >>710 それじゃ永久ループじゃん。
714 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 18:57:49 ] ToStringBuilder.reflectionToStringのネスト機能が欲しい・・・
715 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 20:58:45 ] そういうときこそ、自作すればいいじゃないか。 そしてパッチをCommonsに提供するんだ。 そうすれば知名度が上がるかもしれないぞ。 つか、EclipseのCommons4Eプラグインを使えば ある程度自動化できるんじゃないのか?
716 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 22:24:56 ] Iteratorなんて滅茶苦茶シンプルなインタフェースなんだから探すより作った方が早いよ。
717 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 15:52:40 ] JRCS・・・なくなった。 diffも使えなくなった・・・
718 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 09:47:19 ] commonsにchainってあったんだ。 struts1.3でも使っているみたいだね。 ovserveもあるといいかも。
719 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 09:55:28 ] Chain of Responsibilityパターンが実現できる あのAPIか
720 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 11:27:16 ] unixでいうところのbashのreadlineのライブラリに似たものはcommonsにないですかね。
721 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 11:29:29 ] >>719 そうそう。 springって単純にnewの内容を設定ファイル化できるけど、 それじゃ処理の流れを変更できないので、 spring+chainの軽量ライブラリがあればbestなんだけど。
722 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 11:53:14 ] >>720 commonsじゃないけど、sourceforgeにJava Readlineっつうのがあったよ。 ttp://java-readline.sourceforge.net/
723 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 11:32:29 ] ConfigurationのXPathExpressionEngineって、XMLConfiguration をxpath検索できるのかな? jxpathの絡んでる?
724 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 09:46:42 ] ArrayIntList結構便利かも。
725 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 12:27:59 ] >>723 それ使ったことがないからわからないけど Configurationは不安定でファイルをオートリロードするストラテジも ろくに機能しないし、ファイル書き込みも意味不明でどこの ディレクトリパスなのかさっぱりわからない不具合がおきるし(save()メソッドの 挙動が変。絶対パスなのか相対パスなのかイマイチ)。
726 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 14:38:51 ] >>725 最近バージョン上がったよ。 細かくは試していないけど。
727 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 22:59:05 ] JSP2.0のEL部分だけ取り出したようなライブラリってCommonsにないんかな。 変数入れたMapと文字列渡すと実行できるようなやつ。 静的なメソッド呼び出しを関数に割り当てできるとベスト。 設定に数式を入力できないとヤダとか言い出すヤツが多くて困る…
728 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 23:18:02 ] Jakarta Commons EL
729 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 00:16:00 ] >>728 それはJSP用のELやん。 Expression#evaluateがjavax.servlet.jsp.el.VariableResolver使うから避けたい。 このライブラリで言うと、 引数はorg.apache.commons.el.VariableResolverになってるやつが欲しい。 んで、JspVariableResolverとMapVariableResolverって感じでAdapterがあると単独で使いやすい。 ついでに言うと、Expressionにはevaluate(Map)な簡易メソッドがあると最高。
730 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 00:25:08 ] Jakarta Commons JEXLはどうなん? > Java Expression Language (JEXL) is an expression language engine > which can be embedded in applications and frameworks. ってあるけど。
731 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 00:44:55 ] >>730 おぉ、パッと見はよさげ。サンクス。 式って言うか、ちょっとスクリプト寄り? 意図しないstaticメソッド呼び出しができないようになってれば 変数入れたMapとの変換で何とかなるかな。 今筋トレ中なので、明日にでも試してみるよ。
732 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 13:27:00 ] OROの話題ですが、置換で$1が使えますが、(??{ code }) は使えるでしょうか。 codeは、Perlにおいて、埋め込まれたPerlコードを実行してその結果を正規表現を表すものとして使用します。 らしいですが、javaのメソッドなど呼べたら便利かなと。 つまり、メソッドを登録しておき、そのメソッドにマッチした部分の引数をOROがわで渡すことができればOKなのですが。
733 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 13:43:55 ] PropertyUtils#setProperty()でセットできる対象はsetterがあるプロパティだけだけど、 setterがないものにもセットできるものはないかな? ToStringBuilderあたりはその辺強引にやっているらしいけど
734 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 14:24:22 ] >>732 多分Oro単体では無理。 GroovyやBeanShellみたいなスクリプティングエンジンと組み合わせれば多分可能。
735 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 00:07:47 ] IOUtils1.2にあるProxyReaderとかのProxy〜系ストリームクラスってJDK標準のFilter〜系クラスと何が違うんですか? それぞれFilter系クラスを拡張してあるようなのですが、いまいち何のために使うべきなのかわかりません。
736 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 13:29:22 ] A Proxy stream which acts as expected, that is it passes the method calls on to the proxied stream and doesn't change which methods are being called. It is an alternative base class to FilterReader to increase reusability, because FilterReader changes the methods being called, such as read(char[]) to read(char[], int, int). FilterReader がメソッドのシグネチャを変えやがるから Reader のシグネチャと同じになるようにしたやつを作った。 らしい。
737 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 09:48:59 ] >>722 nativeのライブラリ使ってるだけだった。 ナンだよそれって感じ。 環境依存するので使用はボツ
738 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 10:28:31 ] >>737 コンソール使ってる時点で環境依存はやむを得ない。
739 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 10:54:20 ] log4jで、設定ファイル中のログレベルを変更した場合、アプリ再起動しないで即時更新させることはできますか? 運用中にレベルを変更することは結構あると思うので・・・
740 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 23:19:40 ] ログファイルの変更を監視すればいいんじゃない?
741 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 08:21:05 ] >>739 つ ttp://www.beasys.co.jp/dev2dev/resourcelibrary/utilitiestools/adminmgmt.html#Log4jAdministrationJSP
742 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 11:15:47 ] >>741 そんな面倒なことしなくても、タイムスタンプを見てから DOMConfigurator.configureを実行すれば、ロガーの追加もレベル変更も即時更新。
743 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 14:21:01 ] >>742 ほんまや
744 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 16:44:04 ] DOMConfigurator.configureAndWatchでよくね?
745 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 02:43:17 ] >>742 ,744 739じゃないけど、kwsk教えてください
746 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 15:05:25 ] つAPI ttp://www.ingrid.org/jajakarta/log4j/jakarta-log4j-1.1.3/docs-ja/api/org/apache/log4j/xml/DOMConfigurator.html#configureAndWatch(java.lang.String,%20long)
747 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 21:08:33 ] XMLConfiguration、HierarchicalConfiguration超使える。 これで書き込みができれば最高
748 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 10:47:57 ] IOUtilsのFileUtils.listFilesでファイル検索が簡単にできるけど、 /home/*/bin/*.sh とかのワイルドカード検索はできないんだね。 ワイルドカードのフィルターはあるけど・・・
749 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 13:05:53 ] >>747 XMLのほうは書き込みやリロードのバグがあったが 直ってるか?
750 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 14:19:04 ] >>749 ぽいよ。
751 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 19:58:22 ] CollectionのBagで数が多い順に取り出す方法はありますか?
752 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 10:08:56 ] AbstractMapBagに /** * Mutable integer class for storing the data. */ protected static class MutableInteger { /** The value of this mutable. */ protected int value; /** * Constructor. * @param value the initial value */ MutableInteger(int value) { this.value = value; } public boolean equals(Object obj) { if (obj instanceof MutableInteger == false) { return false; } return ((MutableInteger) obj).value == value; } public int hashCode() { return value; } } ってあるけど、何でInteger使わないんだろ。メモリの削減になるわけでもないような。 ツーか頻繁に変えるなら、plus()minux()のメソッド作ってデータの変更のたびにnewしないようにすればいいのに・・・