かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

NetBeans

JPQLを簡単に実行して結果を確認する方法

JPQLってプログラム実行してみないと、どういう結果がとれるかわかりにくい…。SQLなら実行するツールでSQLを試行錯誤してからプログラムに張り付けてGOGO!!って出来るんだけどね…。と思ってたらNetBeans 7.3からはJPQLを実行する機能があるというじゃないで…

PrimeFacesのp:ajaxを複合コンポーネントに入れたい

JSF2.0になって、簡単なコンポーネントなら自作できるようになったけど、情報が少なくてはまると辛い。PrimeFacesのp:ajaxのlistener属性にcc:attributeから指定したメソッドを設定しようとするとリンク先のようなエラーがでる。 http://stackoverflow.com/q…

PrimeFacesのtreeコントロールで遅延読み込み

最近遅延読み込みがマイブームです。PrimeFacesのtreeコントロールは、遅延読み込み機能とかいうのは明示的にあったりはしないんですよね。dataTableの方にはあるのに。ということで、treeのほうはTreeNodeを自前実装してgetChildCountやisLeafやgetChildren…

PrimeFacesでJavaScriptと連携

JavaScriptからRPCみたいなことをしたあげく、サーバーサイドのコンポーネントツリーの変更を画面に反映したいとき〜!に使えます。 p:remoteCommand PrimeFacesには、remoteCommandという部品があって、こいつを使うと、タグを書くだけで管理ビーンのメソッ…

PrimefacesのdataTableで遅延読み込み

RichFacesからPrimeFacesに浮気中。こいつも遅延読み込みできるのね。 表示するデータは、以下の単純なクラス。 package com.mycompany.richtest; import java.io.Serializable; public class Person implements Serializable { private int id; private Str…

RichFaces4.xのDataTableでページングしつつ遅延読み込み

遅延読み込みしたいですよね?10000件とか下手したら無限とも言えるデータを全部メモリに抱え込んでとか、特にサーバーサイドにステートを持つのがデフォのJSFでやったら死んでしまいます。RichFacesには、そんな要望に応えるためのクラスがあります!! 個…

RichFaces4.xのTreeコントロールで選択中の要素を取得する

とりあえずメモメモ。 xhtmlでのポイントは、ajaxでやりたいからselectionTypeをajaxにしているところと、選択結果をレンダリングするためのrenderをoutpanelにしているところです。 outpanelは、ただのoutputTextです。その他の、toggleTypeをajaxにしたりt…

JAX-RSのMessageBodyWriterを使って出力をカスタマイズ

JAX-RSって出力を柔軟に差し替えれるんですね。知りませんでした。これは捗る。やりかたは簡単。MessageBodyWriterインターフェースを実装して@Providerアノテーションをつけるだけ。 package okazuki.mavenproject7; import java.io.IOException; import ja…

ThymeleafのHello world

HTMLとかXHTMLとかHTML5とかのテンプレートエンジンのThymeleafいい感じっぽいのでHello worldしてみます。 NetBeansでMavenのJavaアプリケーションのプロジェクトを作成して依存性の追加でthymeleafで検索するとorg.thymeleafが出てくるので、それを追加し…

RichFaces 4.xのtreeコンポーネントで遅延読み込み

でっかいツリーを表示したいが、最初に全部データをクライアントに持っていくのは忍びない。というか普通にある程度の規模以上になると性能問題になりますよね。 そんなときのために、表示するのに必要最低限のデータだけをとっておいて、あとは必要に応じて…

JAXBでJSON出力したい

eclipselinkの2.4.0を入れる jsonに出力したいクラスのあるパッケージにjaxb.propertiesを置く javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory JAXBContextを生成するときにJAXBContextProperties.MEDIA_TYPEにapplicatio…

RichFaces 4.2.xのtreeコンポーネントの基本的な使い方

毎回調べるのもあれなので個人的なメモ。 pom.xmlにrichfacesを追加 <dependency> <groupId>org.richfaces.ui</groupId> <artifactId>richfaces-components-ui</artifactId> <version>${richfaces.version}</version> </dependency> <dependency> <groupId>org.richfaces.core</groupId> <artifactId>richfaces-core-impl</artifactId> <version>${…</version></dependency>

Java EE 6の単体テストでClassFormatErrorが出る

Java EEのクラスに依存してるクラスを単体テストしようとして以下のエラーに悩まされました。 java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file [Java EEの中のクラスの名前]ぐぐってみたら解決…

CDI関連情報まとめ

Java EE 6を使うならCDIを使わなきゃね!ということなんですが、Beginning Java EE 6にはCDIについて書かれてない!!せっかくNetBeansは手厚くCDIをサポートしてくれてるのにもったいない!ということでぐぐりました。まずは、Oracleにいた人が書いてくれて…

NetBeans 7.2.1で新規作成時に選べるJSFのコンポーネント

はじめに WPF連載の中に突如現れるJavaEE関連ネタ!! 本題 Webアプリケーションを作成するときにJSFのライブラリとして以下の3つがあることを確認…どれも、個人的に未使用なので癖や良し悪しはなんとも言えない。 ちょっと気になるDataTable系コントロール…

Java SE 7とNetBeans 7.0.1の導入だけした

少し乗り遅れましたがインストールしました。まだNetBeansのインストール途中なのですが、一つだけ使う前に確認したい点がありました!! それは、ショートカットのプロパティのコメント欄。NetBeans5とか6?の頃はこんなコメントが書かれてたと思います。必…

NetBeansでAndroid開発

開発環境はあるらしい。 以下のサイトを参考に、環境はさっくりと整えることができます。 http://www.yokada.net/blog/1326ただ、画面を定義するためのxmlはコード補間すらできないし、当然のようにGUIのデザイナは無い。 ここらへん、Eclipseでの開発のほう…

NetBeans 6.9 RC2を今更ながら試してみた感想

Java SE 正直今までとの違いがわからなかった。 強いて言えばエディタがIMEの確定と同時にどっかに勝手にスクロールしてしまうバグが消えたくらい。でも、これはJava SEに限らず全般に言えること。 Java EE CDIのサポートが目玉機能だと思われる。 こんなSes…

Visitorを使わないで選択されたクラスの情報にアクセスする

昔書いた記事で、TreePathScannerを使ってVisitorパターンを使ってクラスの情報をとってきてました。 http://blogs.wankuma.com/kazuki/archive/2007/12/20/113814.aspxこれ以外にも、やり方があることがわかったのでメモしておきます。2年越しの関連記事に…

そういえば昔NetBeansのプラグイン開発について調べてた

すっかり忘れてました。 当時の関連記事をまとめた記事まで作ってた・・・。 http://blogs.wankuma.com/kazuki/archive/2009/04/16/171480.aspxもうすぐ、一年になるのか。本当にすっかり忘れてた・・・。

Lookupしてみよう その2「複数Lookup」

さて、前回単純な1つのインスタンスのLookupについて簡単に試してみました。今回は、複数のインスタンスがLookupの中にあったときはどうするんだろう?というのをやってみようと思います。 複数のインスタンスをlookupするには、lookupAllという、そのもの…

Lookupしてみよう その1「基本」

NetBeansのモジュール開発で、割と重要なポジションをしめるというLookupというものがあります。 こいつは何?ということで触ってみました。 Lookupってなんぞ? 触ってみた感じで受けた印象は、オブジェクトを入れておいて、必要に応じて取り出せるものです…

モジュールインストーラずっと誤解してた

NetBeansのモジュールのインストールを便利にしてくれるものかと、勝手に誤解してたけど、先日違うことに気づきました。 NetBeansの起動・停止のタイミングで処理を実行するためのものらしいです。具体的な実行タイミングとしては、NetBeansが起動するときに…

ハローワールドをしてみよう

NetBeans6.8を使って、JavaFXのHello worldを書いてみようと思います。大体は、こんな画面出てすげ〜っ!!って言うHello worldですが、ここでは地味にコンソールから始めてみようと思います。 NetBeansを起動してJavaFX Scriptアプリケーションを作成します…

JavaFX Composerって素敵そう

長いこと、CSSみたいな書き方をするので嫌ってたJavaFXですが、ついにGUIでぽとぺた出来る環境が出来始めてるみたいです。先日リリースされた、NetBeans 6.8ではアップデートセンターからJavaFX Composerのbeta版がダウンロードできるようになっています。 …

NetBeans6.8を試す気にならない理由

JavaEE6サポートとかFaceletサポートとか、色々たのしげではあるのですが http://www.infoq.com/jp/news/2009/10/netbeans6.8m2Visual Web JSFがサポートされなくなったらしいので、試す気がいまいちおきません。今までの奴どうしようかな・・・。 最近の悩…

コンパイル時にOutOfMemoryが起きた場合の対処法

2000個以上のjavaファイルを含んだプロジェクトをビルドするとコンパイル中にOutOfMemoryが起きた。 回避方法 プロジェクトのプロパティの構築->コンパイルにある「追加のコンパイラオプション」に-J-Xmx512mみたいにいっぱいメモリ使っていいよと設定する。…

Beans Bindingその2「ConverterとValidator」

さっきの続き。 ちょっとBindingクラスのメンバを眺めてみるとJSFみたいにConverterやValidatorを仕掛けることが出来るっぽい。 Converterはjavax.beans.binding.BindingConverteを継承して作る。 Validatorはjavax.beans.binding.BindingValidatorを継承し…

Beans Bindingしてみた

NetBeans6.0M10についてきてるライブラリにBeans Bindingっていうのがある。 気になったので触ってみた。きしださんのBlogから見れるデモの裏でもNetBeansがガシガシBeans Binding使いまくってる。NetBeans6.0M10のGUIのデザイナが吐き出すバインドのコード…

NetBeans6.0マイルストーン10

つい先日ナイトリービルドをダウンロードしたばっかだけどマイルストーン10がこそっと出てた。 http://www.netbeans.org/community/releases/60/index.html

ActiveRecord-JDBCお試し

前回は、RDE上でActiveRecord-JDBCを使ったけど、今回はNetBeans6.0M10で試してみた。 下準備 PosgtreSQLのJDBCドライバのjarをNetBeansインストールフォルダの下のruby1/jruby-1.0/libの下にコピー。 これをしないとJDBCドライバが無いってエラーになる。 …

モジュール開発の前に…

ソースとJavadocを落としておこう!!! いまさらな感もあるけど、今だからこそきっと多少は読めるはず!!! ってことでNetBeansのサイトを30分くらい徘徊してやっとみつけた… ここからDownload NetBeans IDEのボタンをクリック! http://www.netbeans.org/…

NetBeans5.5.1にSubversionモジュールがない?

アップデートセンターの一覧とにらめっこしても見つからない… 俺だけかな?

ちょっと戻ってLookup

Lookupの結果に変化があったら処理をするってことが出来るみたいだ。 LookupListenerを使うといいぞと書いてある。早速お試し。 Lookupなので、普通のJavaアプリにorg-openide-util.jarを追加すればOK。 まずは、自分で任意のLookupを追加出来るMyLookupを作…

MimeLookup

ということで次はMimeLookup。 どういうときに使うかというと、ぱっと読んだ雰囲気だと選んでるファイルの種類に応じて何かしら処理をさせたいときとかに使える。 選んでるファイルの種類はFileObjectのgetMIMETypeによって調べれるっぽい。 どんなファイル…

FileSystemAPI その4 .settings

ついに最後!! .settingsファイルです。本によるとシンプルらしいですとよ。layer.xmlには下のように書くとOK <folder name="okazuki"> <file name="okazuki-modules-menus-Person.instance"/> <file name="myPerson.instance"> <attr name="instanceClass" stringvalue="okazuki.modules.menus.Person"/> </attr></file></file></folder>

FileSystem APIその3 .shadow

FileSystemAPIその2 - かずきのBlog@Hatenaの続きです。 .shadowの拡張子のあるファイルのお話し。 本によるとシンボリックファイルと同じだよ!ってことみたい。 attrでoriginalFile属性を使ってオリジナルファイルが何かを示してあげるだけ。サンプル!!…

FileSystem APIその3

「FileSystemAPIその2 - かずきのBlog@Hatena」の続き。前回は、.instanceという拡張子のfileに直接どのクラスのインスタンスを生成するのかを名前で示してあげた。 こんな風に <file name="okazuki-modules-menus-Person.instance"/> これだとお手軽。だけど多分デフォルトのコンストラクタでしかインスタンスが</file>…

FileSystemAPIその2

ということで先日なんじゃこりゃ!?って言った.instanceという拡張子のものから。 結論からいうとインスタンス作れるらしいよ。とりあえず今日は時間がないから早速プログラムをば。 昨日作ったメニューの下に1つメニューを追加!! んで、okazuki.modules…

File System APIその1

Lookupの他にFileSystemもNetBeansのModuleを書く上では重要っぽい。 こいつはLookupみたいにjarを1つ追加するだけで使えるよ〜っていうような記述は見当たらなかったので、大人しくNetBeansのモジュールとして作って見た。 構成はこんな感じ okazuki.modul…

ProxyLookupって何?

ProxyLookupというものがある。 どうやら2つ以上のLookupをくっつけてくれるものみたいです。擬似的なコードだとこんな感じ。 Lookup foo = どうにかして取得1(); Lookup bar = どうにかして取得2(); Lookup proxy = new ProxyLookup(foo, bar); //合体! /…

lookupしてみる

英語がさっぱりできないのにRich Client Programming PLUGGING INTO THE NETBEANS PLATFORMを買ってしまった。とりあえず、NetBeansのモジュールのプログラムを覗いてると良く出てくるLookupについて。 Lookupの機能自体はすごく単純でjarを1つクラスパスに…

JavaFX

Eclipse用プラグインとNetBeans用プラグインがあるみたい。 https://openjfx.dev.java.net/ の中ほどから落とせます。Getting Start(NetBeans使用)はここ。 https://openjfx.dev.java.net/Getting_Started_With_JavaFX.html

NetBeans6 M8 + Visual Web Pack M8入れてみた

インストールは問題なく終了。 起動してみると、エラーや警告ダイアログの嵐…。 とりあえず記憶に残ってるのは JackpotやUML系のモジュールがないぞ!みたいなことを言われたので無効化した。 そのあと読みきれないほどのXMLが表示されたダイアログが8個くら…

JSFの情報を取りたい

ManagedBean以外からJSFに関する情報にアクセスしたくなったのでメモ。 UIViewRoot root = FacesContext.getCurrentInstance().getViewRoot(); System.out.println("root.id:[" + root.getId() + "]"); System.out.println("root.clientId:[" + root.getClie…

一長一短

両方つかってるので思うところを箇条書きにしてみた。 NetBeans いいとこ Swingアプリ作るのにはすごくいい VisualWebPackを入れるとWebもRAD Hello worldまでの道のりが短い 嫌いな所 コードエディタがしょぼい VisualWebPackが不安定+バグだらけ(よく固ま…

VisualWebPackで不可解な動き

VisualWebPackのファイルアップロードコンポーネントのあやしい挙動にはまった。 画面に置いただけで動作が変わってしまう。再現手順 1)適当なプロジェクトをこさえて下のような画面を作る 2)JSPに下のように同じnameのinputタグをいっぱい書く <input name="hoge" type="hidden" value="1"/> <input name="hoge" type="hidden" value="2"/> <input name="hoge" type="hidden" value="3"/> 3)…

便利なモジュールたち

便利なモジュールの小物がいっぱい。 http://blogs.sun.com/roller/resources/scblog/update-center.xml後で家のに入れよう。

カスタムコンポーネント(表示されない奴)を作る

デザイナ上からobjectTypeやlistを設定できないObjectListDataProviderや、エラーメッセージが融通が利かないConverterやValidator。 目には見えないけど大事な役割をしてくれるこの人たち。 あまり使えない。ObjectListDataProviderは、粘着力の無い糊みた…

VisualWebPackでなおってたもの

ページフラグメント内に日本語を入力しても化けなくなってた。 大事だよね。