ADF URLデータ・コントロールを使用したRSSフィードの読取り

Oracle JDeveloper How-Toドキュメント
オラクル、Dana Singleterry著
2008年7月

はじめに

Oracle ADF Frameworkには、URLサービスのデータ・コントロール(URLサービス・データ・コントロール)が含まれます。 URLサービス・データ・コントロールでは、URLを介したファイル(CSV、XML)へのアクセス機能を提供します。 このデータ・コントロールを利用して、XMLデータなどの簡単なテキスト・データを返すサーブレットおよびJSPにもアクセスできます。 このHow-Toドキュメントでは、URLサービス・データ・コントロールを使用して、Oracle JDeveloperのRSSニュース・フィードにアクセスし、リッチ・クライアント・インタフェースでデータを表示します。 これを実行するには、OTNから入手できるOracle JDeveloper 11gが必要です。 このHow-Toドキュメントで利用されるア プリケーションも提供されています。

Fusionアプリケーションの作成

"新規アプリケーション"を作成して、適切な名前をつけます。

アプリケーション・テンプレートから「Fusion Web Application (ADF)」を選択します。 これによって、ModelおよびViewControllerプロジェクトが作成されます。

Oracle JDeveloperニュース・フィードのxsd(jdevnewsrss.xsd) が提供されます。 別のRSSフィードを使用している場合、独自のxsdを用意する必要があります。

簡単なJSPページを作成して、適切な名前をつけます。

これで、URLサービス・データ・コントロールを作成できます。

2つのプロジェクト(ModelおよびViewController)でアプリケーションを構成する必要があります。

URLサービス・データ・コントロールの作成

Model」プロジェクトを右クリックしてコンテキストから 「New」を選択し、URLサービス・データ・コントロールを作成し ます。

Business Tier」→「Data Controls」→「URL Service Data Control」を選択します。

データ・コントロールの一意な名前を指定して、ステップ1の「Next」 を選択します。

ステップ2で、"URL Endpoint"を設定します。 Oracle JDeveloperニュース・フィードの場合は、http://www.oracle.com/technology/products/jdev/jdeveloper_news.xmlと 入力します。


ステップ4では、データソースのデータ形式を選択してプロパティを指定する必要があります。 このため、"Data Format:"には「XML」を選択して、作成したXSDのXSD URLを設定してRSSフィードを検証します。 xsdを設定したので、上図のようにファイル・システムの任意の場所に配置します。

URLサービス・データ・コントロール・ウィザードの完了結果です。 次に、URL接続をテストします。

URL接続のテスト結果です。 「Finish」を選択し、 ウィザードを終了します。


作成したアプリケーション・データ・コントロールとそのXML表現が上のイメージのようにアプリケーション・ナビゲータに表示されます。

データ・コントロールを使用して表でRSSフィードを表示

データ・コントロールから「rss」→「channel」→「item」要素を選択して、JSPページにドラッグします。


コンテキストから「Tables」→「ADF Read-only Table...」を選択します。

デフォルトを受け入れて、作業を保存します。 これで、作成したアプリケーションをテストできます。

アプリケーションの実行

URLデータ・コントロールの作成が完了し、マスター表を作成してJSPページ内にRSSフィードを表示しました。したがって、アプリケーションを 実行して作業をテストできます。 作成したJSPページを右クリックして、コンテキストから「Run」を選択します。 統合JEEアプリケーション・サーバーでアプリケーションが実行されます。

上のイメージに示されているように、URLサービス・データ・コントロールとデータを表示する読取り専用表の作成結果が生成されます。 ここでの問題は、データの書式設定があまり実用的ではないことです。 詳細な設定をおこなってこの情報の書式設定を変更し、より読みやすくする場合は、"ADFのFor Each操作"を参照してください。

追加情報:結果の書式設定...ADFのFor Each操作

コンポーネント・パレットからADFの「For Each」操作をADF読取り専用表の下のJSPページにドラッグ・アンド・ドロッ プします。


JSPページ内の「forEach」操作をダブルクリックし て、forEachプロパティを変更します。

Items」→「Expression Builder....」を選択します。

bindings」→「item」→「rangeset」を選択して、「^Insert Into Expression」を選択します。 「OK」を選択して、Expression Builderを閉じます。

使用できる追加の書式設定コンポーネントには、goLinkお よびoutput textがあります。 たとえば、タイトルに返されるリンクを適用し、その下にOracle JDeveloper RSSニュース・フィードから取得される各項目レコードの詳細な説明を出力します。

          <h:panelGrid columns="1">
            <af:goLink text="#{row.title}" destination="#{row.link}"
                       inlineStyle="width:100%; font-weight:bold; color:ActiveCaption;"/>
            <af:outputText value="#{row.description}"
                           inlineStyle="color:Black;"/>
          </h:panelGrid>

アプリケーションのテスト結果とデータの書式設定作業の表示結果です。

結論

このHow-Toドキュメントでは、URLサービス・データ・コントロールの作成と、ADFのFor Each操作を使用した出力の書式設定を説明しました。 ADFのgoLinkやoutput textコンポーネントなどの追加の書式設定のヒントも説明しました。 また、URLサービス・データ・コントロールを使用して、CSVファイル・タイプにもアクセスできます。