ADFモバイル・デバイス・リポジトリへのデバイスの手動追加

ADF Mobileデバイス・リポジトリに新規デバイスを手動で追加できます。

10.1.3のデバイス・リポジトリに新規デバイスを追加する手順は、次のとおりです。

  1. JDeveloper構成を誤って壊したりファイルを上書きすることのないように、<JDEV_HOME>/wireless/libにナビゲートし、deviceRepository.jarファイルを<WORK_DIR>にJAR解除します。

    注意: <WORK_DIR>は、D:¥work_dirなど、なるべく<JDEV_HOME>ディレクトリの外部の場所にしてください。

  2. <WORK_DIR>oracle/wireless/device/capability/agentにナビゲートし、capabilities.xmlファイルを開きます。

  3. <agentCapabilities>ノードの下に、次のように新規ノードを追加します。

    <capabilities id="device-name" agents="agent_name" platforms="platform_name">
    <agentType>
    <li value="agent_type"/>
    </agentType>
    <include refid="ref to some other device or agent by id"/>
    <include src="device xml"/>
    </capabilities>

  4. capabilities.xsdに基づいてデバイス固有のXMLを作成します。これを簡単に行うには、ディレクトリ内の既存のデバイスXML(capabilities.xml以外)をコピーし、必要に応じて属性値を変更します。属性が不要な場合は削除可能であり、コピーしたXMLファイルに含まれない新規属性が必要な場合は、capabilities.xsdで、追加できる属性のタイプの有無を確認します。

  5. ステップ4で作成したデバイス固有のXMLファイルに、<id>.xmlという名前を付けます。ここで、<id>は、ステップ3で追加した<capabilities>ノードのid属性の値と同じである必要があります。たとえば、HP-Jornada.xmlの場合、HP-Jornadaid属性の値です。

  6. デバイスXMLファイルを <WORK_DIR>/oracle/wireless/device/capability/agentにコピーします。

  7. ファイルをJAR形式にし、deviceRepository.jarを再作成します。このためには、<WORK_DIR>からjar -cvf deviceRepository.jar .コマンドを実行します。末尾に空白に続く.があることに注意してください。これは、現在の作業ディレクトリを示します。

  8. <JDEV_HOME>/wireless/libにある以前のdeviceRepository.jarを、再作成したファイルと置き換えます。

    注意: 新規ファイルと置き換える前に、元の deviceRepository.jarのバックアップをとってください。プロセス全体でエラーが発生した場合に、元のファイルに戻すことができます。

    ユーザー・エージェント文字列照合に基づいて属性を検索する際に、エージェント名およびプラットフォーム名も新しい場合は、この新規デバイスについて予期した結果が得られない可能性があります。デバイス属性にアクセスするには、ユーザー・エージェント文字列のかわりにデバイスIDを使用する必要があります。

  9. 次のコールを実行するテスト・コードを使用して、デバイスの追加を確認できます。

    <capabilitiesProvider instance>.getCapabilities(<id attribute of the capabilities node>);.

    注意: すべて順調に進むと、新規に追加されたデバイスの機能が戻されます。

属性、値およびその説明

属性 説明

id

device-name この属性は必須です。値はなるべく英数字とし、ハイフン(-)が含まれる必要があります。リポジトリ内のデバイスを一意に識別する際に使用されます。
agents agent_name この属性はオプションです。値は必ずName/Version書式とし、空白で区切る必要があります。エージェントとその名前、さらにデバイスでサポートされるバージョンがリスト表示されます。
platforms platform_name この属性はオプションです。値は必ずName/Version書式とし、空白で区切る必要があります。デバイスのソフトウェア・プラットフォームについて説明します。
agentType agent_type この属性はオプションであり、値は任意のエージェント・タイプを指定できます。現在サポートされているエージェント・タイプは、デスクトップ、PDAおよびTelnetのみです。

refid

IDによる他のデバイスまたはエージェントへの参照 この属性はオプションであり、現在のデバイスにそのデバイスまたはエージェントの機能が含まれる場合、値は他のデバイスまたはエージェントの既存のIDを参照する必要があります。
src デバイスXMLファイル

この属性は必須であり、値は現在のcapabilities.xmlファイルに関連した完全パスおよびデバイスのファイル名とする必要があります。次の点に注意してください。

  • デバイスXMLで指定する属性は、capabilities.xsdで示している属性のサブセットである必要があります。
  • ネームスペースは oracle/wireless/device/capability/agentとする必要があります。

Name/Version書式

Nameの値は、連続する英数字の文字列となります。任意の文字数を意味する*をワイルドカード文字として使用できますが、文字列の末尾のみとします。

Versionの値は数字とし、オプションで最後の文字として*または+を使用します。また、Versionの値自体はオプションです。

たとえば、<capabilities id="mypc" agents="NetFront/3+ Mozilla/6* Mozilla*">となります。

デバイスを追加するためのサンプル・コード

<capabilities id="HP-Jornada" agents="ie/4+" platforms="ppc">
<agentType>
<li value="PDA"/>
</agentType>
<include refid="pocketie"/>
<include src="HP_Jornada.xml"/>
</capabilities>

新規デバイスの追加を確認するためのサンプル・コード

CapabilitiesProvider cp = CapabilitiesProvider.getCapabilitiesProvider();
cp.getCapabilities("HP_Jornada")


デバイス機能へのアクセス
ADF Mobileデバイス・リポジトリのAPIリファレンス