モデル タイプまたはモデル クラスのサポートの追加

内容
casp1032jp
内容
3
このセクションでは、
CA Spectrum
モデル タイプまたはモデル クラスに OneClick サポートを追加または拡張する方法について説明します。たとえば、
CA Spectrum
の一般 SNMP ツールキットを使用して作成した管理モジュールに特定の OneClick サポートを追加する必要がある場合があります。
登録の作成
新しいモデル タイプまたはモデル クラスを作成した場合、この章で説明する XML エレメントを使用して、関連するモデルの概観、利用可能な情報、および OneClick インターフェース内のビューを設定できます。
custom-app-config.xml へのモデル タイプまたはモデル クラスの登録
新しいモデル タイプおよびモデル クラスの OneClick の登録は、custom-app-config.xml ファイル内で実行します。これにより、モデル タイプまたはモデル クラス単位で OneClick のサポートを設定できます。登録には 2 つのモデルがあります。
  • コンテンツ レジストリ
  • コンポーネント詳細レジストリ
これらの登録はどちらも互いに連動して、
CA Spectrum
モデルに対する効率的な OneClick サポートを実現します。コンポーネント詳細レジストリは、一般および特定の OneClick デバイスのサポートを定義するために、コンテンツ レジストリの拡張として機能します。
特定のモデル クラスのほとんどのモデルが同一の OneClick デバイスのサポートを共有するため、通常は、この一般サポートを定義するためのモデル クラスのコンテンツ レジストリを定義します。ただし、特定のモデル クラスで、モデル タイプに基づいてコンポーネント詳細パネルに別の情報を公開したい場合があります。これを実行するには、該当するモデル タイプのコンポーネント詳細レジストリを定義します。その結果、モデルは、コンテンツ レジストリから汎用の共有コンテンツを受け取り、コンポーネント詳細レジストリからより具体的なコンポーネントの詳細コンテンツを受け取ります。
以下の図に示すような例を考えてみます。モデル クラス 4 (スイッチ - ルータ)の 2 つのルータがあります。どちらも、モデル クラス 4 で登録されているコンテンツ レジストリからそれらの一般情報を受け取ります。ただし、タイプ 0xffe00000 のモデルは、コンポーネント詳細レジストリからそのコンポーネント詳細コンテンツを受け取ります。タイプ 0xffe00001 のモデルには、コンポーネント詳細レジストリがないため、コンテンツ レジストリからそのすべての設定内容を受け取ります。
SPEC--register_model
モデル クラスに基づいた一般的な OneClick デバイスのサポートの定義
モデル クラスまたはモデル タイプのグループの一般的な共有設定を定義するには、主にコンテンツ レジストリ(<oi> エレメントによって示される)が使われます。デフォルトで、
CA Spectrum
はほとんどのモデル クラスについて、この一般的な動作を定義します。そのため、カスタム モデル タイプに適切なモデル クラスを設定した場合、自動的にこの一般コンテンツが継承されます。
デフォルトの設定でほとんどの要件を満たしているが、コンポーネント詳細パネルの情報を変更したい場合は、該当するモデル タイプのコンポーネント詳細レジストリを作成する必要があるだけです。
ただし、新しいモデル クラスを作成したり、モデル タイプに特定のモデル外観を定義したりする場合は、以下の表で説明している XML エレメントを使用して、コンテンツ レジストリ エントリを作成する必要があります。
エレメント
親エレメント
Description
<app-config>
該当なし
custom-app-config.xml ファイルのルート エレメント。
<contents-registry>
<app-config>
単一またはグループのモデル クラスやモデル タイプを、モデルの外観およびツールヒントのコンテンツを定義する設定ファイルに関連付けるために使用します。
(オプション)スコープ属性を使用して、使用している設定 xml ファイルの場所を指定します(console、topo、または common のデフォルトの場所を使用していない場合)。スコープ属性は、以下のように、既存の設定 xml ファイルが存在するディレクトリ名に一致している必要があります。
<$SPECROOT>/tomcat/webapps/spectrum/
WEB-INF/<scope>/config
たとえば、<contents-registry scope=“devman”> は devman/config ディレクトリを指定し、これはデバイス管理ビューおよびサブビューの設定 xml ファイルを格納しています。
<model-class>
<contents-registry>
このコンテンツ レジストリのモデル クラスを登録します。
<model-type>
<contents-registry>
このコンテンツ レジストリのモデル タイプを登録します。
一意のトポロジ アイコンまたはツールヒントが必要な場合、モデル タイプはコンテンツ レジストリに対してのみ登録する必要があります。モデル タイプのコンポーネント詳細コンテンツのみを設定する場合は、<contents-registry> の代わりに <component-details-
registry> を使用します。
<is-derived-from>
<contents-registry>
このコンテンツ レジストリの親モデル タイプおよびそのすべての派生モデル タイプを登録します。
一意のトポロジ アイコンまたはツールヒントが必要な場合、モデル タイプはコンテンツ レジストリに対してのみ登録する必要があります。モデル タイプのコンポーネント詳細コンテンツのみを設定する場合は、<contents-registry> の代わりに <component-details-
registry> を使用します。
<icon-reg-id>
<contents-registry>
使用するアイコン設定を識別するアイコン登録 ID。アイコン設定は、OneClick でのアイコンの外観を定義します。
<tooltip-config>
<contents-registry>
トポロジ アイコンのツールヒントのコンテンツを定義する XML。
<table-config>
<contents-registry>
コンテンツ画面の[リスト]タブで使用可能な列を設定する XML を指定します。
<information-config>
<contents-registry>
モデルの[情報]タブのコンテンツを定義する XML を指定します。
<performance-config>
<contents-registry>
モデルの[パフォーマンス]タブのコンテンツを定義する XML を指定します。このタブには一定期間のモデル属性の値を表示する 1 つ以上のグラフを定義できます。これらのグラフのコンテンツはリアル タイムで、データは現在の OneClick クライアント セッションでのみ使用できます。
<interface-table-config>
<contents-registry>
[インターフェース]タブでテーブルを設定する XML を指定します。
モデル タイプに基づいた特定の OneClick デバイスのサポートの定義
この章で先述したように、コンテンツ レジストリは、一般的な OneClick デバイスのサポートを定義します。OneClick クライアントで、モデル タイプ単位で特定のデバイスのサポートを定義する場合、コンポーネント詳細レジストリ(<component-details-registry> エレメントによって示す)を定義する必要があります。コンポーネント詳細レジストリは、コンポーネント詳細画面内のビューのコンテンツを定義します。
エレメント
親エレメント
Description
<app-config>
該当なし
custom-app-config.xml ファイルのルート エレメント。
<component-details registry>
<app-config>
単一またはグループのモデル クラスやモデル タイプを、コンポーネント詳細画面のコンテンツを定義する設定ファイルに関連付けるために使用します。
<component-details-registry> の同じ子エレメントが <contents-registry> 内でサポートされています。ただし、<component-details-registry> は <contents-registry> の拡張であるため、定義されていないすべてのエレメントが <contents-registry> から継承されます。同じモデル タイプまたはモデル クラスに対して両方が登録されている場合は、<component-details-registry> が、<contents-registry> よりも優先されます。
<model-class>
<contents-registry>
このコンポーネント詳細レジストリのモデル クラスを登録します。
<model-type>
<contents-registry>
このコンポーネント詳細レジストリのモデル タイプを登録します。
<is-derived-from>
<contents-registry>
このコンテンツ レジストリの親モデル タイプおよびそのすべての派生モデル タイプを登録します。
<information-config>
<contents-registry>
モデルの[情報]タブのコンテンツを定義する XML を指定します。
<performance-config>
<contents-registry>
モデルの[パフォーマンス]タブのコンテンツを定義する XML を指定します。このタブには一定期間のモデル属性の値を表示する 1 つ以上のグラフを定義できます。これらのグラフのコンテンツはリアル タイムで、データは現在の OneClick クライアント セッションでのみ使用できます。
<interface-table-config>
<contents-registry>
[インターフェース]タブでテーブルを設定する XML を指定します。
モデルの外観の定義
XML 設定(トポロジ、コンポーネント詳細ヘッダ、ナビゲーション履歴など)によって、OneClick クライアント内で表示されるモデルの外観を定義できます。これは、コンテンツ レジストリを使用して、モデル クラスやモデル タイプ単位で行います。
コンテンツ レジストリ エントリ内に、アイコン登録 ID (<icon-reg-id>)を指定する必要があります。以下の図に示すように、この ID は、特定のテーマのモデルの外観の構築に使用される XML ファイルを定義するテーマ設定エントリ(<theme-config>)にマップします。デフォルトで、OneClick には、OneClick、ユーティリティ、クラシックの 3 つのアイコン テーマが含まれます。
SPEC--model_appearance
上記の XML の例では、モデル クラス 7 のコンテンツ レジストリは、mydevice-config として、<icon-reg-id> を指定しています。この ID の場合、OneClick に含まれている OneClick、ユーティリティ、クラシックの 3 つの各テーマに対して、テーマ設定が作成されます。テーマ設定内に、アイコンを構築する XML ファイルを指定します。
以下の手順では、これらの各エレメントを使用して、OneClick ユーザ インターフェースで、モデルの外観を定義するプロセスについて説明します。
OneClick ユーザ インターフェースでモデルの外観を定義するには
  1. すでに存在しない場合は、
    <$SPECROOT>
    /tomcat/webapps/spectrum/WEB-INF/console/config/ をコピーして
    <$SPECROOT>
    /custom/console/config/custom-app-config.xml をという名前のファイルを作成します。
    custom-app-config.xml.
    ファイルがすでに存在する場合、ファクトリ デフォルト ファイルへのカスタマイズした変更が含まれているため、追加の変更をする必要があります。
  2. テキスト エディタでファイルを開きます。
  3. 該当するモデル タイプまたはモデル クラスのコンテンツ レジストリ エントリを作成します。
    <contents-registry> ... <model-type>0xffff0000</model-type> <model-class>2</model-class> ... </contents-registry>
  4. コンテンツ レジストリ内に、アイコン登録 ID を指定します。この ID は、テーマ設定エントリにマップされます。
  5. 目的のテーマごとに <theme-config> エントリを作成します。これらのエントリは、前の手順からの登録 ID を使用して識別されます。
  6. 「ページ内およびページ外参照アイコンの設計」で説明されている通りに、各テーマのアイコンの外観を設計します。
  7. 「モデル アイコン ツールヒントの定義」の説明に従って、アイコンのツールヒントを定義します。
  8. モデルの外観のサポートを作成したら、モデルのコンポーネント詳細画面で利用可能なビューと情報をカスタマイズする場合があります。
  9. <$SPECROOT>
    /custom/console/config/custom-app-config.xml ファイルを[保存して閉じます]。
  10. OneClick クライアントを再起動して変更を有効にします。
OneClick テーマのアイコンの設定
デフォルトで、OneClick には以下の 3 つのアイコン テーマが含まれています。
  • OneClick (デフォルトのテーマ)
  • ユーティリティ
  • クラシック
デフォルトの OneClick テーマは最も堅牢であるため、テーマとして使用することをおすすめします。
テーマ設定の作成に使用できるエレメントを以下の表に示します。
エレメント
親エレメント
Description
<theme-config>
<app-config>
特定のアイコン登録 ID のテーマ設定を定義します。
<icon-reg-id>
<theme-config>
テーマ設定を 1 つ以上のモデル タイプやモデル クラスのコンテンツ レジストリにマップするアイコン登録 ID。
<enumerated-cellicon>
<theme-config>
モデル階層ツリーに列挙されたセル アイコン イメージを使用する必要があることを指定します。このエレメントの idref 属性は、選択された cellicon の ID を定義します。事前定義済みアイコンは
<$SPECROOT>
/tomcat/webapps/spectrum/WEB-INF/topo/config ディレクトリに存在し、名前付けパターン *-color-config.xml に従います。
<dynamic-cellicon>
<theme-config>
モデル階層ツリーに動的セル アイコン イメージを使用する必要があることを指定します。このエレメントの idref 属性は、選択された cellicon の ID を定義します。事前定義済みアイコンは
<$SPECROOT>
/tomcat/webapps/spectrum/WEB-INF/console/topo/config ディレクトリに存在し、名前付けパターン *-color-config.xml に従います。
<static-cellicon>
<theme-config>
モデル階層ツリーに静的セル アイコン イメージを使用する必要があることを指定します。このエレメントの idref 属性は、選択された cellicon の ID を定義します。事前定義済みアイコンは
<$SPECROOT>
/tomcat/webapps/spectrum/WEB-INF/console/topo/config ディレクトリに存在し、名前付けパターン *-color-config.xml に従います。
<theme>
<theme-config>
この設定が適用されるテーマの名前。既存のテーマを設定するには、OneClick、クラシック、またはユーティリティを指定する必要があります。新しい名前を指定すると、新しいテーマが生成されます。
<on-page>
<theme-config>
指定されたテーマの標準アイコンのアイコン設定。
<off-page>
<theme-config>
指定されたテーマの参照アイコンのアイコンの設定。
<on-page> および <off-page> エレメントは、トポロジ内に表示されるアイコンの標準バージョンおよびページ外参照バージョンの作成に使用される XML ファイルを指定します。
ナビゲーション パネル階層内で使用されるイメージは、以下の 3 つの <*-cellicon> エレメントのいずれかで定義します。
  • <enumerate-cellicon>
  • <dynamic-cellicon>
  • <static-cellicon>
<theme-config> エレメントを使用したアイコンの外観の作成
以下の例は、<theme-config> エレメントを使用して、アイコン登録 ID mydevice-icon-config のテーマ設定を定義する方法を示しています。各 OneClick テーマ(ユーティリティ、クラシック、OneClick)のアイコンの外観が定義されていることに注意してください。
例: <theme-config> コード
<theme-config> <icon-reg-id>mydevice-icon-config</icon-reg-id> <theme>Utility</theme> <on-page idref="mydeviceutil-iconbase-config"/> <off-page idref="mydeviceutil-oprbase-config"/> <enumerated-cellicon idref="component-cellicon-config"/> </theme-config> <theme-config> <icon-reg-id>mydevice-icon-config</icon-reg-id> <theme>Classic</theme> <on-page idref="mydeviceclassic-iconbase-config"/> <off-page idref="mydeviceclassic-oprbase-config"/> <enumerated-cellicon idref="component-cellicon-config"/> </theme-config> <theme-config> <icon-reg-id>mydevice-icon-config</icon-reg-id> <theme>OneClick</theme> <on-page idref="mydeviceoc-iconbase-config"/> <off-page idref="mydeviceoc-oprbase-config"/> <enumerated-cellicon idref="component-cellicon-config"/> </theme-config>
ページ内およびページ外参照アイコンの設計
モデルは、OneClick トポロジ内で 2 つの異なる外観を持つことができます。
  • ページ内
  • ページ外
ページ内表現は、モデルの標準の外観であるため、より重要な外観です。ページ外表現は、トポロジにモデルを描画する際に、別のトポロジ ビューに存在するモデルへの参照として使用されます。つまり、モデルが別のトポロジに存在する別のモデルに接続されている場合です。
モデルが、OneClick トポロジ内の接続 (リンク)をサポートする場合、ページ内バージョンに加えて、ページ外参照アイコン(イメージ)を指定する必要があります。
テーマ設定内に <on-page> エレメントと <off-page> エレメントを使用して、ページ内アイコンとページ外アイコンを指定します。これらのエレメントは、対応するモデル アイコンを構築する XML を指定します。
以下の表に、XML ファイル内で <on-page> エレメントと <off-page> エレメントによって参照される使用可能なエレメントを定義しています。
エレメント
親エレメント
Description
<icon-config>
該当なし
これは、アイコン設定ファイルのルート エレメントです。
<static-cellicon>
<icon-config>
一色の前景/背景またはイメージ。idref 属性を使用して、イメージまたは色を定義する別のファイルを参照できます。事前定義済みアイコンは
<$SPECROOT>
/tomcat/webapps/spectrum/WEB-INF/console/topo/config ディレクトリに存在し、名前付けパターン *-color-config.xml に従います。
<dynamic-cellicon>
<icon-config>
複数の色またはイメージ。idref 属性を使用して、イメージまたは色を定義する別のファイルを参照できます。事前定義済みアイコンは
<$SPECROOT>
/tomcat/webapps/spectrum/WEB-INF/console/topo/config ディレクトリに存在し、名前付けパターン *-color-config.xml に従います。
<enumerated-cellicon>
<icon-config>
属性の値に基づいて、イメージや色が表示されます。
idref 属性を使用して、イメージまたは色を定義する別のファイルを参照できます。事前定義済みアイコンは
<$SPECROOT>
/tomcat/webapps/spectrum/WEB-INF/console/topo/config ディレクトリに存在し、名前付けパターン *-color-config.xml に従います。
<shape>
<icon-config>
「アイコンの形状の定義」を参照してください。
<stroke>
<icon-config>
形状を作成するために使用する線種。以下の値を使用できます。
- Bump1: 幅 1 のバンプ ストローク。
- Bump2: : 幅 2 のバンプ ストローク。
- Dash1x1x1: 幅 1 の破線ストロークで、長さ 1 のダッシュの後に長さ 1 の空白を繰り返します。
- Dash1x1x3: 幅 1 の破線ストロークで、長さ 1 のダッシュの後に長さ 3 の空白を繰り返します。
- Dash1x2x2: 幅 1 の破線ストロークで、長さ 2 のダッシュの後に長さ 2 の空白を繰り返します。
- Dash1x3x1: 幅 1 の破線ストロークで、長さ 3 のダッシュの後に長さ 1 の空白を繰り返します。
- Dash2x1x1: 幅 2 の破線ストロークで、長さ 1 のダッシュの後に長さ 1 の空白を繰り返します。
- Dash2x1x3: 幅 2 の破線ストロークで、長さ 1 のダッシュの後に長さ 3 の空白を繰り返します。
- Dash2x2x2: 幅 2 の破線ストロークで、長さ 2 のダッシュの後に長さ 2 の空白を繰り返します。
- Dash2x3x1: 幅 2 の破線ストロークで、長さ 3 のダッシュの後に長さ 1 の空白を繰り返します。
- DashDot: 幅 1 の破線ストロークで、長さ 3 のダッシュの後に長さ 1 の空白と長さ 1 のドットと長さ 1 の空白を繰り返します。
- DashDotDot: 幅 1 の破線ストロークで、長さ 3 のダッシュの後に長さ 1 の空白と長さ 1 のドットと長さ 1 の空白と長さ 1 のドットと長さ 1 の空白を繰り返します。
- DashedSeparator: 
CA Spectrum
 のルック アンド フィールの区切り線を表示するために使用される破線ストローク。
- PenStroke Ditch1: 幅 1 の溝形ストローク。
- Ditch2: : 幅 2 の溝形ストローク。
- Ditch4: 幅 4 の溝形ストローク。
- Hole1: 幅 1 の穴ストローク。
- Hole2: 幅 2 の穴ストローク。
- Invisible: 非表示のペン ストローク。
- Ridge2: 幅 2 の隆線。
- Ridge4: 幅 4 の隆線。
- Solid1: 幅 1 の実線。
- Solid2: 幅 2 の実線。
- Solid3: 幅 3 の実線。
- StepBump1: 幅 1 のステップ バンプ。
- StepBump2: 幅 2 のステップ バンプ。
- StepHole2: 幅 2 のステップ ホール。
<pipe-connection>
<icon-config>
「パイプ接続場所の定義」を参照してください。
<components>
<icon-config>
このエレメントは、アイコンを定義するイメージ、ラベル、およびテキスト コンポーネントを含みます。さまざまなコンポーネントが相互に階層化され、これらの各コンポーネントのインデックス値によって、描画の順番が決まります。最小数(1)が最初に描画されます 「イメージ コンポーネントの定義」、「テキスト コンポーネントの定義」、「選択コンポーネントの定義」を参照してください。
<on-page> および <off-page> エレメントの使用
ユーティリティ テーマのアイコンのページ内参照を定義する mydevice-utility-iconbase-config.xml と呼ばれるアイコン設定ファイルを作成する場合、次の例のように、該当するテーマ設定に、<on-page> 参照エレメントを定義する必要があります。
例: <on-page> および <off-page> コード
<theme-config > <icon-reg-id>mydevice-icon-config</icon-reg-id> <theme>Utility</theme> <on-page idref="mydevice-utility-iconbase-config"/> <off-page idref="mydevice-utility-oprbase-config"/> <enumerated-cellicon idref="component-cellicon-config"/> </theme-config>
例: アイコン設定ファイル
この例は、「ページ内およびページ外参照アイコンの設計」の表で説明している XML エレメントを使用したアイコン設定ファイルを示しています。
<?xml version="1.0" encoding="UTF-8"?> <icon-config id="mydevice-utility-iconbase-config"> <static-color idref="default-iconbase-color-config"/> <shape-rectangle > <x>0</x> <y>0</y> <width>139</width> <height>84</height> </shape-rectangle> <stroke>Invisible</stroke> <!-- =========================================================== - Specify the location of where pipes will connect to the icon.- ============================================================ --> <pipe-connection> <x>73</x> <y>36</y> </pipe-connection> <components> <!-- ========================================================== - Definition of the model's base image. The color of this - image is determined by the condition of the model.- ========================================================== --> <image-component index="2"> <x>0</x> <y>0</y> <width>139</width> <height>84</height> <image idref="oneclick-orgservice-iconbase-image-config"/> </image-component> </components> </icon-config>
アイコンの形状の定義
アイコンの基本形状は、ユーザがクリックして、モデルをアクティブにするアイコンの領域を定義します。OneClick アイコンの基本形状は以下のようになります。
  • 四角形
  • 角丸四角形
  • 楕円形
  • 多角形
  • 折れ線グラフ
<icon-config> エレメントを使用してこれらの各形状を定義します。
四角形
OneClick で四角形を指定するために使用するエレメントを以下の表に定義しています。
エレメント
親エレメント
Description
<shape-rectangle>
<icon-config>
四角形を定義します。
<x>
<shape-rectangle>
四角形の左上の X 座標。
<y>
<shape-rectangle>
四角形の左上の Y 座標。
<width>
<shape-rectangle>
四角形の幅。
<height>
<shape-rectangle>
四角形の高さ。
例: 四角形コード
<shape-rectangle> <x>26</x> <y>24</y> <width>45</width> <height>14</height> </shape-rectangle>
角丸四角形
OneClick で角丸四角形を指定するために使用するエレメントを以下の表に定義しています。
エレメント
親エレメント
Description
<shape-roundrectangle>
<icon-config>
角丸四角形を定義します。
<x>
<shape-roundrectangle>
左上の X 座標。
<y>
<shape-roundrectangle>
左上の Y 座標。
<width>
<shape-roundrectangle>
幅。
<height>
<shape-roundrectangle>
高さ。
<arcwidth>
<shape-roundrectangle>
隅を定義する円弧の幅。
<archeight>
<shape-roundrectangle>
隅を定義する円弧の高さ。
例: 角丸四角形コード
<shape-roundrectangle> <x>0</x> <y>0</y> <width>89</width> <height>68</height> <arcwidth>12</arcwidth> <archeight>12</archeight> </shape-roundrectangle>
楕円形
OneClick で楕円形を指定するために使用するエレメントを以下の表に定義しています。
エレメント
親エレメント
Description
<shape-ellipse>
<icon-config>
楕円を作成します。
<x>
<shape-ellipse>
楕円の左上の X 座標。
<y>
<shape-ellipse>
楕円の左上の Y 座標。
<width>
<shape-ellipse>
楕円の幅。
<height>
<shape-ellipse>
楕円の高さ。
例: 楕円コード
<shape-ellipse> <x>26</x> <y>24</y> <width>45</width> <height>14</height> </shape-ellipse>
多角形
OneClick で多角形を指定するために使用するエレメントを以下の表に定義しています。
エレメント
親エレメント
Description
<shape-polygon>
<icon-config>
多角形を定義します。
<point>
<shape-polygon>
多角形のエッジを定義する点。このエレメントの x 属性は、点の x 座標の位置を定義します。このエレメントの y 属性は、点の y 座標の位置を定義します。
例: 多角形コード
<shape-polygon> <point x="0" y="28" /> <point x="10" y="10" /> <point x="28" y="0" /> <point x="116" y="0" /> <point x="134" y="10" /> <point x="144" y="28" /> <point x="144" y="65" /> <point x="134" y="80" /> <point x="116" y="92" /> <point x="28" y="92" /> <point x="10" y="80" /> <point x="0" y="65" /> </shape-polygon>
折れ線グラフ
OneClick で線を指定するために使用するエレメントを以下の表に定義しています。
エレメント
親エレメント
Description
<shape-line>
<icon-config>
線を定義します。
<x1>
<shape-line>
線の開始の X 座標。
<y1>
<shape-line>
線の開始の Y 座標。
<x2>
<shape-line>
線の終了の X 座標。
<y2>
<shape-line>
線の終了の Y 座標。
例: 線コード
<shape-line> <x1>5</x1> <y1>5</y1> <x2>40</x2> <y2>40</y2> </shape-line>
アイコンの形状の作成
アイコンの形状は、ユーザがクリックして、デバイスを選択できるアイコンの領域を定義します。以下の例は、例の後のイメージに示す角丸四角形アイコンの形状を定義しています。
例: アイコンの形状コード
<icon-config id="device-iconbase-config"> <static-color idref="device-iconbase-color-config"/> <shape-roundrectangle > <x>0</x> <y>0</y> <width>89</width> <height>68</height> <arcwidth>12</arcwidth> <archeight>12</archeight> </shape-roundrectangle>
SPEC--create_icon_shape
X 座標と Y 座標
x および y 座標は、イメージの左上隅を定義します。x の値が増加すると、イメージの左上隅が左から右に移動します。Y の値が増加すると、イメージの左上隅が上から下に移動します。先述のセクションのイメージは、「例: アイコンの形状コード」に定義されている 0,0 にあるアイコン形状の左上隅を示しています。
パイプ接続場所の定義
パイプの場所は、パイプがアイコンに接続されている場所を定義します。パイプ接続場所を定義するために使用するエレメントを、以下の表に示しています。
エレメント
親エレメント
Description
<pipe-connection>
<icon-config>
アイコン上のパイプの場所を定義します。
<x>
<pipe-connection>
パイプの場所の x 座標。
<y>
<pipe-connection>
パイプの場所の y 座標。
例: <pipe-connect> コード
<pipe-connection> <x>73</x> <y>36</y> </pipe-connection>
イメージ コンポーネントの定義
イメージ コンポーネントにより、モデルの属性に基づいてモデルに静的または動的イメージを追加できます。イメージ コンポーネントは、以下の例の後の表に定義されています。
例: <image-component> コード
以下の例は、アイコン設定ファイルにイメージ コンポーネントを定義しています。
<image-component index="1"> <x>0</x> <y>0</y> <width>139</width> <height>84</height> <image idref="oneclick-orgservice-iconbase-image-config"/> </image-component>
<image> エレメントは「例: イメージ定義ファイル」に示すイメージ定義ファイルを参照しています。これは、以下の図に示すイメージ コンポーネントを生成し、CRITICAL (3)状態のモデルを示しています。
SPEC--def_img_cmp
以下の表に、イメージ コンポーネントを定義するために使用されるエレメントについて説明します。
エレメント
親エレメント
Description
<components>
<icon-config>
アイコンのすべてのコンポーネントを定義します。
<image-component>
<components>
イメージ コンポーネントを定義します。このエレメントのインデックス属性は、このアイコンに定義された他のイメージ、テキスト、および選択コンポーネントに相対的に、イメージが描画される順序を定義します。各インデックス値は一意である必要があります。たとえば、同じファイルにインデックス値 1 の 2 つの <*-component> エレメントを指定することはできません。その場合は、最初の <*-component> エレメントのみが使用されます。インデックス値は、1 から始まる必要があります。
<x>
<image-component>
イメージの左上隅の x 座標。
<y>
<image-component>
イメージの左上隅の y 座標。
<width>
<image-component>
ピクセル単位でのイメージの幅。イメージのサイズ制限はありませんが、OneClick で使用されている他のイメージを基準にしてサイズを使用することをおすすめします。
<height>
<image-component>
ピクセル単位でのイメージの高さ。イメージのサイズ制限はありませんが、OneClick で使用されている他のイメージを基準にしてサイズを使用することをおすすめします。
<image>
<image-component>
表示するイメージ。
idref 属性は、イメージを作成する XML ファイルを参照します。これは、整理目的でのみ個別のファイルに格納されます。
イメージは、png ファイル形式で、
<$SPECROOT>
/tomcat/webapps/spectrum/images ディレクトリに配置する必要があります。
<shape-*>
<image-component>
イメージで描画される形状コンポーネント。
<enumerated-color>
<image-component>
形状に使用される色。
<static-color>
<image-component>
形状に使用される色。
<selection-component>
<image-component>
ユーザがイメージ コンポーネントを選択した場合にのみこれを表示するかどうかを示します。
例: イメージ定義ファイル
以下の XML コードは、「例: アイコン設定ファイル」の <image-component index =“2”> で使用しているイメージを定義しています。例では、<select>、<case>、および <expression> エレメントを使用して、条件属性の値に基づいて、イメージを条件付きで選択します。例では、<yield> を使用して、条件が満たされた場合に使用するイメージを定義しています。イメージは PNG ファイル形式であることに注意してください。カスタマイズのために使用するイメージは、
<$SPECROOT>
/tomcat/webapps/spectrum/images ディレクトリに格納する必要があります。イメージ ディレクトリから、このディレクトリに配置されたイメージのパスを images/myimage.png と表します。
<?xml version="1.0" encoding="UTF-8"?> <image id="oneclick-orgservice-iconbase-image-config"> <select> <case> <expression> attrInt(AttributeID.CONDITION) == 0 <!-- GREEN_CONDITION --> </expression> <yield> images/oneclick_org_service_green.png </yield> </case> <case> <expression> attrInt(AttributeID.CONDITION) == 1 </expression> <yield> images/oneclick_org_service_yellow.png </yield> </case> <case> <expression> attrInt(AttributeID.CONDITION) == 2 </expression> <yield> images/oneclick_org_service_orange.png </yield> </case> <case> <expression> attrInt(AttributeID.CONDITION) == 3 </expression> <yield> images/oneclick_org_service_red.png </yield> </case> <case> <expression> attrInt(AttributeID.CONDITION) == 4 </expression> <yield> images/oneclick_org_service_brown.png </yield> </case> <case> <expression> attrInt(AttributeID.CONDITION) == 5 </expression> <yield> images/oneclick_org_service_grey.png </yield> </case> <case> <expression> attrInt(AttributeID.CONDITION) == 6 </expression> <yield> images/oneclick_org_service_blue.png </yield> </case> <default> images/oneclick_org_service_blue.png </default> </select> </image>
例: アイコン設定ファイル
このアイコンの設定例では、その後に示すイメージを生成します。例では、モデルの状態が CRITICAL (3)であるものと想定しています。
<?xml version="1.0" encoding="UTF-8"?> <icon-config id="oneclick-orgservice-iconbase-config"> <static-color idref="oneclick-default-iconbase-color-config"/> <shape-rectangle > <x>0</x> <y>0</y> <width>139</width> <height>84</height> </shape-rectangle> <stroke>Invisible</stroke> <!-- =========================================================== Specify the location of where pipes will connect to the icon. ============================================================--> <pipe-connection> <x>73</x> <y>36</y> </pipe-connection> <components> <!-- =========================================================== Definition of the model label. ============================================================ --> <label-component idref="default-iconlabel-config" index="1"> <x>0</x> <y>77</y> <column-list> <field-column> <column idref="column-modelname-config"/> <column idref="column-devicetype-config"/> </field-column> </column-list> </label-component> <!-- ========================================================== Definition of the model's base image. Image color is determined by model condition. -========================================================== --> <image-component index="2"> <x>0</x> <y>0</y> <width>139</width> <height>84</height> <image idref="oneclick-orgservice-iconbase-image-config"/> </image-component> </components> </icon-config>
SPEC--def_img_cmp2
アイコン ラベルの作成
OneClick モデルまたはデバイス タイプ アイコンには、OneClick オペレータがそれらを識別するためのラベルがあります。default-iconlabel-config.xml ファイル内のテーブルに示されている <label-component> エレメントを使用して、作成するアイコンにラベルを追加します。以下の図は、いくつかのエレメントを使用して、アイコン ラベルを定義する方法を示しています。
SPEC--create_icon_labl
default-iconlabel-config.xml ファイル
ファイル 
<$SPECROOT>
/SPECTRUM/tomcat/webapp/spectrum/WEB-INF/topo/config/default-iconlabel-config.xml には、<label-component> エレメントとその属性を使用してアイコン ラベルを作成する例と詳細を格納しています。
例: <label-component> コード
<!-- ================================================================= Definition of the model label. ====================================================================--> <label-component idref="default-iconlabel-config" index="1"> <x>0</x> <y>67</y> <column-list> <field-column> <column idref="column-modelname-config"/> <column idref="column-devicetype-config"/> </field-column> </column-list> </label-component>
この例では、default-iconlabel-config.xml ファイルの機能を拡張することにより、モデルのラベルを定義します。この例では、2 つの列ステートメントに定義されているテキストの 2 つのフィールドを表示するラベルを作成します。列ステートメントは、参照対象となる列設定ファイルで定義されているコンテンツに対する 2 つの行をラベルに作成します。このラベルは、アイコン ラベルにモデル名とデバイス タイプを表示します。コードで、ラベルの最小または最大の列幅を指定していない(以下の表を参照)ため、デフォルトの条件の 95 ピクセルの固定幅になっています。
エレメント
親エレメント
Description
<components>
<icon-config>
アイコンのすべてのコンポーネントを定義します。
<label-component>
<component>
ラベル コンポーネントを定義します。
インデックス属性は、同じアイコンに定義された他のイメージ、テキスト、およびラベル コンポーネントに関してラベルが描画される順序を定義します。各インデックス値は一意である必要があります。同じインデックス値の 2 つの
<*-components> がある場合、2 つ目だけが描画されます。
インデックス値は、1 から始まります。
<x>
<label-component>
アイコン イメージ コンポーネントと相対的なラベルの左上隅の x 座標を定義します。
<y>
<label-component>
アイコン イメージ コンポーネントと相対的なラベルの左上隅の y 座標を定義します。
<column-list>
<label-component>
ラベルを作成するために使用する列のリストを構築します。1 列のみがサポートされます。
<field-column>
<column-list>
情報の列を作成します。
<column>
<field-column>
<field-column> のデータを定義します。idref 属性を使用すると、列のデータを定義する <column> に別の XML ファイルを関連付けることができます。<column> のデータが別のファイルに存在する必要はありません。
<max-background-width>
<label-component>
ラベルの背景の最大幅を定義します。ラベルの背景は、最大長の列値に基づいて、幅が拡張/縮小されます。
<min-background-width>
<label-component>
ラベルの背景の最小幅を定義します。
<default-transparency>
<label-component>
アイコンが選択されていない場合、ラベルの背景の透明度の値を定義します。0-255、0 = 完全に透明、255 = 完全に不透明。
<selected-transparency>
<label-component>
アイコンが選択されている場合、ラベルの背景の透明度の値を定義します。0-255、0 = 完全に透明、255 = 完全に不透明。
<show-background>
<label-component>
ラベルの背景を表示するかどうかを示します。
<enumerated-color>
<label-component>
ラベルの背景色を定義します。
<enumerated-color> は、式と列挙を使用して色を指定します。
<static-color>
<label-component>
ラベルの背景色を定義します。
<static-color> は、特定の色を使用します。
<vertical-spacing>
<label-component>
テキストの行間の間隔をピクセル単位で指定します。
<border-spacing>
<label-component>
最初の列の上と最後の列の下の境界の高さをピクセル単位で定義します。
<background-border>
<label-component>
True または False。true の場合、1 ピクセル幅の線を使用して、ラベル境界のアウトラインを描画します。
<enumerated-color>
<background-border>
<Background-border> の色を定義します。詳細については、この表の <enumerated-color> を参照してください。
<static-color>
<background-border>
<Background-border> の色を定義します。
<background-highlight>
<label-component>
アイコンが選択されている場合のラベルの下部に表示される線を定義します。
<enumerated-color>
<background-highlight>
アイコンが選択されている場合のラベルの背景色を定義します。詳細については、この表の <enumerated-color> を参照してください。
<static-color>
<background-highlight>
アイコンが選択されている場合に表示されるラベルの背景の <Background-highlight> の色を定義します。
<field-value>
<label-component>
アイコンのラベルに表示される値を定義します。
<enumerated-color>
<field-value>
アイコン ラベルのテキストの色を定義します。
<static-color>
<field-value>
アイコン ラベルのテキストの色を定義します。
<font>
<field-value>
アイコン ラベルのテキストに使用するフォントを定義します。
アイコン ラベルの背景の幅の調整
アイコン ラベルの背景の幅はラベル内の最大長のテキスト エントリの長さによって決まり、<max-background-width> に指定された最大幅から <min-background-width> に指定された最小幅までになります。ラベルの背景がラベル テキストの長さを収容するのに十分でない場合は、<max-background-width> 値を増やします。
デフォルトのラベル幅の設定
label-component を使用して、アイコン ラベルを作成する場合、デフォルトのラベル サイズは 95 ピクセルで固定されます。<max-background-width> と <min-background-width> の両方のデフォルト値が 95 です。これにより、ラベルの背景が 95 の固定幅で作成されます。これらのエレメントのいずれかを指定しないと、デフォルト値が想定されます。
固定幅のアイコン ラベルの作成
固定幅のアイコン ラベルを作成するには、<max-background-width> と <min-background-width> をアイコン ラベル テキストの行間を十分に取った同じ値に設定します。以下のイメージに、200 の固定幅のアイコン ラベルを示します。
SPEC--create_FW_ico_lbl
テキスト コンポーネントの定義
CA Spectrum
のサポートおよびドキュメント Web サイトで、このマニュアルのリリース 8.0 以前のバージョンを参照してください。
選択コンポーネントの定義
アイコンが選択されている場合に目立たせるため、選択時にのみ表示されるイメージを指定することがあります。これは、<selection-component> エレメントによって行います。以下の例では、選択コンポーネント(イメージ コンポーネント #2 および #4)として定義されている 2 つのコンポーネントが追加されています。ユーザがコンポーネントを選択した場合に、これらのイメージ コンポーネントが表示されます。選択されない場合は、非表示のままになります。以下の図は、2 つの選択コンポーネントを示しています。
SPEC--def_sel_cmp
<?xml version="1.0" encoding="UTF-8"?> <icon-config id="oneclick-orgservice-iconbase-config"> <static-color idref="oneclick-default-iconbase-color-config"/> <shape-rectangle > <x>0</x> <y>0</y> <width>139</width> <height>84</height> </shape-rectangle> <stroke>Invisible</stroke> <!-- ============================================================= Specify the location of where pipes will connect to the icon. - ============================================================== --> <pipe-connection> <x>73</x> <y>36</y> </pipe-connection> <components> <!-- ============================================================= Definition of the model text background. ============================================================== --> <image-component index="1"> <x>0</x> <y>75</y> <width>94</width> <height>40</height> <image> <select> <default> com/aprisma/spectrum/app/topo/images/ icon_text_background.png </default> </select> </image> </image-component> <image-component index="2"> <x>0</x> <y>75</y> <width>94</width> <height>40</height> <selection-component>true</selection-component> <image> <select> <default> com/aprisma/spectrum/app/topo/images icon_selected_text_background.png </default> </select> </image> </image-component> <!-- ============================================================ Definition of the model's base image. The color of this image is determined by the condition of the model. ============================================================== --> <image-component index="3"> <x>0</x> <y>0</y> <width>139</width> <height>84</height> <image idref="oneclick-orgservice-iconbase-image-config"/> </image-component> <!-- ============================================================= Definition of the image to show when the model is selected. ============================================================= --> <image-component index="4"> <x>8</x> <y>0</y> <width>131</width> <height>72</height> <selection-component>true</selection-component> <image> <select> <default> com/aprisma/spectrum/app/topo/images/ oneclick_selected_container.png </default> </select> </image> </image-component> <!--============================================================== Definition of the model name text field. ============================================================== --> <text-component idref="oneclick-default-textfield-config"index="5"> <x>5</x> <y>97</y> <width>85</width> <height>13</height> <horizontal_alignment>left</horizontal_alignment> <text> <attribute>0x1006e</attribute> </text> </text-component> <!-- ============================================================= Definition of the model type name text. ============================================================= --> <text-component idref="oneclick-default-textfield-config" index="6"> <x>5</x> <width>85</width> <height>12</height> <horizontal_alignment>left</horizontal_alignment> <text> <attribute>AttributeID.DEVICE_TYPE</attribute> <expression> ( value() == null || ((String)value()).length() == 0 ) ? attr(AttributeID.MTYPE_NAME ) : value() </expression> </text> </text-component> <!-- ============================================================ Definition of the rollup condition symbol. ============================================================= --> <image-component index="7"> <x>0</x> <y>54</y> <width>19</width> <height>19</height> <image idref="oneclick-rollup-triangle-image-config"/> </image-component> </components> </icon-config>
モデル アイコン ツールヒントの定義
OneClick ユーザが、モデル アイコンの上にカーソルを移動したときに表示されるツールヒントのコンテンツを設定できます。custom-app-config.xml ファイルのコンテンツ レジストリで、<tooltip-config> エレメントは、ツールヒントを定義するファイルを指定します。カスタム ツールヒント ファイル mydevice-tooltip-config.xml は、
$SPECROOT/custom/topo/config
 フォルダに入れる必要があります。
モデル クラス 2、5、11、12 のモデルのツールヒント設定は、mydevice-tooltip-config.xml ファイル内で定義されているツールヒントを使用するように登録します。以下の例を確認してください。
<contents-registry> <reg-id>device-icon-config</reg-id> <tooltip-config>mydevice-tooltip-config</tooltip-config> <model-class>2</model-class> <model-class>5</model-class> <model-class>11</model-class> <model-class>12</model-class> </contents-registry>
以下の例は、ツールヒント ファイルのコンテンツを示しています。各エレメントについて、例と共に表で説明しています。
<?xml version="1.0" encoding="UTF-8"?> <tooltip-config id="mydevice-tooltip-config" xmlns ="http://www.aprisma.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.aprisma.com../../common/schema/column-config.xsd"> <format><![CDATA[ <html><table> <tr> <td><b>{0}</b></td> <td>{1}</td> </tr> <tr> <td><b>{2}</b></td> <td>{3}</td> </tr> <tr> <td><b>{4}</b></td> <td>{5}</td> </tr> </table></html> </format> <param> <localize>com.aprisma.spectrum.app.util.render.ModelNameColumn</localize> </param> <param> <attribute>AttributeID.MODEL_NAME</attribute> <renderer>com.aprisma.spectrum.app.util.render.NullRenderer </renderer> </param> <param> <localize> com.aprisma.spectrum.app.util.render.NetworkAddressColumn </localize> </param> <param> <attribute>AttributeID.NETWORK_ADDRESS</attribute> <renderer>com.aprisma.spectrum.app.util.render.NullRenderer </renderer> </param> <param> <localize> com.aprisma.spectrum.app.util.render.MACAddressColumn </localize> </param> <param> <attribute>AttributeID.MAC_ADDRESS</attribute> <renderer>com.aprisma.spectrum.app.util.render.NullRenderer </renderer> </param> </device-tooltip-config>
注:
 中かっこ内に使用されている数字は、以下の <param> エレメントで定義されたパラメータを表します。{0} は最初のパラメータ、{1} は 2 番目のパラメータというように表します。
エレメント
親エレメント
Description
<tooltip-config>
該当なし
ツールヒントを定義するファイルのルート エレメント。このエレメントの ID 属性は、custom-app-config.xml ファイルに見つかった <content-registry> 内の <tooltip-config> エレメントに使用されている値と等しく設定する必要があります。
DO NOT USE
<tooltip-config>
ツールヒント内のデータの表示方法を定義するには、これを使用します。上記の例では、HTML テーブルが使用されています。中かっこ内の数字({3} など)は、対応するパラメータ(ファイルに定義された 3 番目のパラメータなど)を参照します。
<param>
<tooltip-config>
表示される値を定義するには、これを使用します。
<localize>
<param>
パラメータに指定された文字列をローカライズされた値に変換します。
CA Spectrum
に付属する OneClick XML ファイルから取得し、「com.aprisma.spectrum」で始まるパラメータ値を使用している場合にこれを使用します。
<renderer>
<param>
「インターフェース テーブルのポート名列のカスタマイズ」を参照してください。
<attribute>
<param>
表示させる属性を識別するために、これを使用します。
<message>
<param>
パラメータのプレーン テキスト値を指定する場合に、これを使用します。