OneClick テーブルのカスタマイズ

内容
casp1032jp
内容
2
このセクションでは、OneClick コンソール内にある既存のテーブルを変更する方法について説明します。OneClick 使用可能なテーブル要素のリストおよびそれらの説明は「例: テーブル列の定義」に記載されています。以下のセクションでは、テーブルの列を変更するための特定の例が示されています。
テーブル列の変更
OneClick コンソール テーブルに追加の属性を表示する場合は、カスタマイズ ファイルを使用して、XML に変更を行うことで実施することができます。変更は
<$SPECROOT>
/custom の適切なディレクトリに個別の XML ファイルで実施する必要があります。
IDREF を使用したファクトリ デフォルト ファイルの拡張
OneClick では、変更するテーブルを作成するファクトリ デフォルト ファイルと同じ名前を使用する、
<$SPECROOT>/
custom/topo/config ディレクトリにある新しいファイルにカスタム コードを作成する必要があります。IDREF 属性を使用して、ファクトリ ファイルを「参照」し、新しいカスタマイズ ファイルでそれを拡張します。OneClick でのカスタマイズ ファイルの作成の詳細については、「カスタマイズの作成」を参照してください。
例: テーブル設定ファイルからの列ファイルの参照
以下の例は、テーブルの定義に使用される XML ファイルの一部を示しています。この例では、同じファイルに各列を定義してテーブル全体を定義するのではなく、個別のファイルを使用してテーブルの最初の 2 つの列を定義します。この例では、各 <column> 要素を持つ idref 属性を使用して、列を定義するファイルにリンクさせます。
<table id="table-licenses-config" xmlns="http://www.aprisma.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.aprisma.com ../../common/schema/table-config.xsd"> <swing-row-template> <enumerated-color idref="alternatingrow-color-config"/> </swing-row-template> <swing-table-template> <show-vertical-lines>true</show-vertical-lines> <show-horizontal-lines>false</show-horizontal-lines> </swing-table-template> <swing-header-row-template> <static-color idref="row-header-color-config"/> </swing-header-row-template> <column-list> <column idref="column-servicestate-config"/> <column idref="column-modelname-config"> <default-width>300</default-width> </column> </column-list> . . </table>
最初の列は、column-servicestate-config.xml ファイルに定義されます。このファイルの冒頭部分を、以下に示します。<column> エレメントで使用される id 属性をメモして、このファイルを「column-servicestate-config」として定義します。
<column id="column-servicestate-config" xmlns="http://www.aprisma.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.aprisma.com ../../common/schema/table-config.xsd">
テーブル列の変更
以下の手順では、OneClick のテーブル列を変更するための一般的なプロセスについて説明します。詳しい例については、以下のセクションで提供されます。
テーブル列を変更する方法
  1. 変更するテーブルを構成するファクトリ XML ファイルを特定します。
    OneClick コンソールにデータを表示するのに使用されるテーブル ファイルの多くは 
    <$SPECROOT>
    /tomcat/webapps/spectrum/WEB-INF/topo/config にあります。すべてのテーブル ファイルの名前は表示される機能の名前です。たとえば、各モデルのインターフェース情報を表示するのに使用されるテーブルは table-common-ifconfig-config.xml と呼ばれます。
  2. 変更を追加するファイルの作成
    この例では、デフォルトのファイルは
    <$SPECROOT>
    /tomcat/webapps/spectrum/WEB-INF/topo/
    configtable-common-ifconfig-config.xml です。
    <$SPECROOT>
    /custom/topo/config ディレクトリに同じ名前でファイルを作成します。その名前のファイルがこのディレクトリにすでに存在する場合は、以前このテーブルがカスタマイズされたことを示しています。この場合、既存のファイルにカスタマイズされたコードを追加します。
  3. 適切な変更を行うために、テキスト エディタでファイルを開きます。
  4. idref を使用して、この新しいカラム設定を拡張するテーブル設定を参照します(手順 1 参照)。
  5. 「例: テーブル列の定義」で定義されている XML 要素を使用して新しい列を構成します。この手順に従っている例では、これらの要素がどのように列の定義に使用されているかを示しています。
  6. XML ファイルで、<column-list> 要素を検索します。<column-list> 要素には、テーブル内の各列を定義するのに使用される <column> 要素が含まれています。
  7. <column-list> 要素内に <column> 要素を定義します。列は <column-list> 要素内の順番で表示されます。
  8. <name> 要素を挿入して列のタイトルを定義します。
  9. <content> および <attribute> 要素を挿入して列に表示する内容を定義します。
  10. (オプション) <default-width> 要素を使用して、列のデフォルト幅を定義します。
  11. 変更を表示するには、変更されたファイルを[保存して閉じる]、OneClick コンソールを再起動します。
例: テーブル列の定義
<column-list> <column> <name>Interface</name> <content> <attribute>0x100c4</attribute> </content> <default-width>30</default-width> </column> . . . </column-list>
以下の表では、テーブルを変更するために使用される要素について説明します。
エレメント
親エレメント
Description
<table>
該当なし
これはルート要素であり、テーブルを作成するのに使用されるすべての子エレメントを囲みます。
<swing-table-template>
<table>
テーブルの外観を定義するのに使用されます。
<show-vertical-lines>
<swing-table-template>
テーブルの垂直線を表示するかどうかを定義します。値は true または false です。
<show-horizontal-lines>
<swing-table-template>
テーブルの水平線を表示するかどうかを定義します。値は true または false です。
<line-color>
<swing-table-template>
テーブルを作成するのに使用される線の色を定義します。デフォルト値は、light-background_color です。その他の値は、
<$SPECROOT>
/tomcat/webapps/spectrum/WEB-INF/console/common/config/
common-color-config.xml ファイルにあります。
<show-tree-lines>
<swing-table-template>
テーブルがツリー ノードを接続する破線で表示されるかどうかを定義します。値は true または false です
<preferred-width>
<swing-table-template>
テーブルのデフォルトの幅をピクセル単位で定義します。
<preferred-height>
<swing-table-template>
テーブルのデフォルトの高さをピクセル単位で定義します。
<swing-header-row-
template>
<table>
テーブルのヘッダ行の外観を定義するのに使用されます。
<static-color>
<swing-header-row-
template>
ヘッダ行の色を指定します。整合性を取るには、値 idref=row-header-color-config を使用します。
<swing-row-template>
<table>
テーブルの本文行の外観を定義するのに使用されます。
<enumerated-color>
<swing-row-template>
テーブルの各行に対して異なる色を指定するのに使用されます。デフォルト値は alternating row-color-config です。
<static-color>
<swing-row-template>
テーブル内のすべての行に使用される単一色を指定するのに使用されます。
<column-list>
<table>
テーブル内で使用される列のリストを定義するのに使用されます。
<column>
<column-list>
列リストに列を定義するのに使用されます。
<name>
<column>
列の名前です。ここで使用されるテキストは、この列のテーブル ヘッダに表示されます。
<editable>
<column>
テーブル内の値を編集できるかどうかを定義します。この値が true に設定されている場合、設定リンクが値の横に表示されます。
<content>
<column>
カラム内に配置する値を定義します。これはソートとフィルタリングに使用される値です。指定することができる子要素の詳細については、「値の参照」を参照してください。<swing-cell-template> タグを定義することで、最後に表示されるテキストをさらに操作することができます。<swing-cell-template> の詳細については、「セルをテーブル列に表示する方法の定義」を参照してください。
<renderer>
<content>
列のコンテンツに使用されるレンダラを指定します。詳細については、「インターフェース テーブルのポート名列のカスタマイズ」を参照してください。
<dynamic-renderer>
<content>
モデル クラスまたはモデル タイプに応じて異なるレンダラを指定できるようにします。詳細な使用方法については、「<dynamic-renderer> について」を参照してください。
<expression>
<content>
列の値を生成するための式を定義するのに使用されます。詳細については、「すべてのカスタマイズ ファイル共通な XML の使用方法」を参照してください。
<message>
<content>
列にプレーン テキスト値を指定するのに使用されます。
<select>
<content>
特定の基準に基づいて列の値を選択するのに使用されます。詳細については、「すべてのカスタマイズ ファイル共通な XML の使用方法」を参照してください。
<attribute>
<content>
属性 ID を指定するのに使用されます。属性の値は列に配置されます。
<swing-cell-template>
<column>
列のセルの表示方法を定義するのに使用されます。このエレメントの仕様に関する詳細については、「セルをテーブル列に表示する方法の定義」を参照してください。
<image>
<swing-cell-template>
セル内の画像を表示するのに使用されます。
<attribute>
<image>
画像の選択を決定するのに使用される属性です。
<select>
<image>
選択される画像を定義するのに使用されます。詳細については、「すべてのカスタマイズ ファイル共通な XML の使用方法」を参照してください。
<text>
<swing-cell-template>
セル内のテキストの文字列を表示するのに使用されます。
<renderer>
<text>
テキストを操作するのに使用されるレンダラです。例については、「インターフェース テーブルのポート名列のカスタマイズ」を参照してください。OneClick レンダラの詳細については、「レンダラを使用した属性出力の操作」を参照してください。
<param>
<renderer>
レンダラによって使用されるパラメータを指定します。詳細については、「パラメータについて」を参照してください。
<renderer-class>
<swing-cell-template>
画像またはテキスト以外のものをレンダリングするのに使用されるクラスです。
<editable>
<column>
ユーザが列の値を編集することを許可します。詳細については、「テーブル列を編集可能にする」を参照してください。
<hidden-by-default>
<column>
列をデフォルトで非表示にするには、このエレメントを使用します。ユーザは[環境設定]ダイアログ ボックスを使用してテーブルに列を追加する必要があります。
<default-width>
<column>
ピクセル単位の列のデフォルトの幅です。
<default-sort>
<column-list>
<sort-column-list> エレメントと共に使用され、デフォルトでテーブルをソートする方法を決定します。
<sort-column-list>
<default-sort>
ソートする列のリスト(最大 3 つ)です。
<sort-column>
<sort-column-list>
ソートする列です。列は記載されている順にソートされます。
<name>
<sort-column>
ソートする列の名前です。これは、列に対して定義された名前と一致する必要があります。
<direction>
<sort-column>
ソート順です。値は ascending または descending です。
セルをテーブル列に表示する方法の定義
<swing-cell-template> はテーブル列のセル内でのコンテンツの最終的な表現を定義します。このエレメントを <content> エレメントと共に使用し、コンテンツがユーザにどのように表示されるかを指定します。このエレメントは、ボタン、スクロール可能なリスト、テキストの折り返し、およびその他の手法を使用して、開発者が生の OneClick データを処理する方法に柔軟性を提供します。
列セル定義に <swing-cell-template> を指定しない場合は、<content> エレメントからの未処理の出力が調整なしで表示されます。<swing-cell-template> の定義に使用できるエレメントを、以下の表に示します。
エレメント
親エレメント
Description
<image>
<swing-cell-template>
セルに表示する画像を定義します。
<text>
<swing-cell-template>
セルに表示するテキストを定義します。子エレメントが指定されていない場合、<content> エレメントからのテキストが表示されます。
<renderer-class>
<swing-cell-template>
セル内のデータの最終的な表現に使用する Java クラスを指定します。このエレメントと共に使用できるレンダラについては、「レンダラを使用して列セル内のデータを表示する」を参照してください。
以下の Java クラスは、<renderer-class> と共に使用してレンダリング、またはテーブル列セルに表示するための RAW データを操作およびフォーマットすることができます。
TextAreaCellRenderer
このレンダラを使用して、セルの幅で折り返してテキストを表示します。
クラス名: com.aprisma.spectrum.app.swing.table.render.TextAreaCellRenderer
サポートされているパラメータ: なし
例: セル内に折り返すテキストを表示する
以下の例では、テキストを表示する列を作成し、定義した幅で折り返して、固定された幅で複数の行を表示します。この技術は、デバイスの[情報]タブの[メモ]フィールドで使用されます。このフィールド内にオペレータが入力したテキストは、事前に定義された列幅で折り返します。
<swing-cell-template> <text/> <renderer-class> com.aprisma.spectrum.app.swing.table.render.TextAreaCellRenderer </renderer-class> </swing-cell-template>
ListAttributeRenderer
スクロール可能なリストに、リスト タイプ属性の値を表示します。
クラス名: com.aprisma.spectrum.app.swing.table.render.ListAttributeRenderer
サポートされているパラメータ: 
  • <attrID> - 必須パラメータです。セルに表示される 
    CA Spectrum
     属性の ID です。
  • <maxRowsToDisplay> - 整数値です。表示可能なリスト全体の最大数を指定し、最大数を超えるとスクロールがオンになります。
  • <order> - true または false に設定します。true に設定すると、列が編集可能な場合、ユーザは、リストの順番を変更できます。
  • <add> - true または false に設定します。true に設定すると、列が編集可能な場合、ユーザはリストに新しいエントリを追加することができます。
  • <remove> - true または false に設定します。true に設定すると、列が編集可能な場合、リストからエントリを削除することができます。
  • <valuePrompt> - ユーザがリストに新しい値を追加するように促される場合に表示されるテキストです。指定しない場合、デフォルトのプロンプトが使用されます。
例: セル内にスクロール可能なリストを表示する
以下の例では、セル内に表示可能な最大行数を 4 と定義しています。4 行を超えると、リストはスクロール可能になります。
<swing-cell-template> <renderer-class> com.aprisma.spectrum.app.swing.table.render.ListAttributeRenderer <param name="maxRowsToDisplay">4</param> <param name="attrID">0x25e0039</param> <param name="add">true</param> <param name="remove">true</param> <param name="valuePrompt">SNMP Port</param> </renderer-class> </swing-cell-template>
ListAttributeOIDRenderer
スクロール可能なリストに、リスト タイプ属性の OID を表示します。
クラス名: com.aprisma.spectrum.app.swing.table.render.ListAttributeOIDRenderer
サポートされているパラメータ: ListAttributeRenderer を参照してください。
  • <oidPrompt> - ユーザがリストに新しい OID を追加するように促される場合に表示されるテキストです。指定しない場合、デフォルトのプロンプトが使用されます。
ActionButtonCellRenderer
セルに、クリックされたときにモデルにアクションを送信するボタンを表示します。
クラス名: com.aprisma.spectrum.app.topo.client.render.ActionButtonPanelCellRenderer
サポートされているパラメータ: 
  • <actionID> - 必須パラメータです。ボタンが送信するアクションの
    CA Spectrum
     属性 ID です。
  • <text> - 必須パラメータです。ボタンに表示されるテキストです。
  • <toolTipText> - ボタンのツールヒントに表示されるテキストです。
  • <prompt> - ユーザにボタンのクリックを確認する場合に表示されるテキストです。指定しない場合、プロンプトは表示されません。
  • <confirmSuccess> - true または false に設定します。true に設定すると、アクションが成功した場合にメッセージが表示されます。
例: セル内にアクション ボタンを表示する
<swing-cell-template> <renderer-class> com.aprisma.spectrum.app.topo.client.render.ActionButtonCellRenderer <param name="actionID">0x0001011f</param> <param name="text">Reevaluate Model Names</param> <param name="toolTipText"> Reevaluates all model names based on the model naming order of VNM </param> <param name="confirmSuccess">true</param> </renderer-class> </swing-cell-template>
ActionButtonPanelCellRenderer
それぞれモデルにアクションを送信する 1 つ以上のボタンを表示します。すべてのパラメータは、ボタンごとに 1 つのセミコロン区切りリストとして指定されます。
クラス名: com.aprisma.spectrum.app.topo.client.render.ActionButtonPanelCellRenderer
サポートされているパラメータ: ActionButtonCellRenderer を参照してください。
例: セル内に複数のアクション ボタンを表示する
以下の例は、「モデルの再設定」と「接続の検出」の 2 つのボタンを定義しています。各ボタンの値を持つパラメータは各値をセミコロン(;)で区切ります。
<swing-cell-template> <renderer-class> com.aprisma.spectrum.app.topo.client.render.ActionButtonPanelCellRenderer <param name="actionID">0x1000e;0x25e0022</param> <param name="text">Reconfigure Model;Discover Connections</param> <param name="confirmSuccess">true;true</param> </renderer-class> </swing-cell-template>
AttrToggleButtonCellRenderer
指定された 2 つの属性の値に基づいて 2 つの値のいずれかとすることができるテキストと共にボタンを表示します。ボタンをクリックすると、反対の値が属性に書き込まれます。
クラス名: com.aprisma.spectrum.app.topo.client.render.AttrToggleButtonCellRenderer
サポートされているパラメータ: 
  • <attrID> - 必須パラメータです。ボタンが値を切り替える 
    CA Spectrum
     属性の ID です。
  • <firstValueMapping> - 必須パラメータです。最初の属性値と、属性がこの値に等しい場合に表示するテキストを、セミコロン区切りで指定します。
  • <secondValueMapping> - 必須パラメータです。2 番目の属性値と、属性がこの値に等しい場合に表示するテキストを、セミコロン区切りで指定します。
  • <promptOnFirstValue> - ボタンがクリックされ、属性が最初の値に等しい場合に、ユーザに確認するプロンプトで使用されるテキストを指定します。指定しない場合、プロンプトは表示されません。
  • <promptOnSecondValue> - ボタンがクリックされ、属性が 2 番目の値に等しい場合に、ユーザに確認するプロンプトで使用されるテキストを指定します。指定しない場合、プロンプトは表示されません。
  • <disableOnFirstValue> - true または false に設定します。true に設定すると、属性が最初の値と等しい場合にボタンが無効になります。
  • <disableOnSecondValue> - true または false に設定します。true に設定すると、属性が 2 番目の値と等しい場合にボタンが無効になります。
例: セル内にアクションの切り替えボタンを表示する
<swing-cell-template> <renderer-class> com.aprisma.spectrum.app.topo.client.render.AttrToggleButtonCellRenderer <param name="attrID">0x11b6e</param> <param name="firstValueMapping">true;Start</param> <param name="secondValueMapping">false;Stop</param> <param name="promptOnSecondValue">Are you sure you want to stop?</param> </renderer-class> </swing-cell-template>
BoldAttributeTableCellRenderer
セルのテキストを太字で表示します。
クラス名: com.aprisma.spectrum.app.swing.table.render.BoldAttributeTableCellRenderer
例: セル内に太字のテキストを表示する
<swing-cell-template> <text/> <renderer-class> com.aprisma.spectrum.app.swing.table.render.BoldAttributeTableCellRenderer </renderer-class> </swing-cell-template>
テーブル列を編集可能にする
場合によっては、ユーザが列内の特定のテーブル セルの値を編集することを許可できます。アラーム テーブルの[確認済み]列とインターフェース設定テーブルの[管理ステータス]列はユーザに編集が許可されている列の例です。
アラーム テーブル確認フィールドのカスタマイズ
一部の組織では、[確認済み]列にデフォルトのチェック マークか空白が表示されるよりも、「はい」か「いいえ」のテキストが表示される方が好まれます。このセクションでは、ファクトリ XML ファイルを拡張することにより、アラーム テーブルの[確認済み]列を編集可能にする方法について説明します。
以下の図は、アラーム テーブルのデフォルトの[確認済み]フィールドと、編集可能にするためにカスタマイズした後の[確認済み]フィールドを示しています。
Comparison of the Acknowledged column on the Alarms tab as an uneditable field and as an editable field
ファイル
<$SPECROOT>
/custom/alarm/config/alarm-table-config.xml がすでに存在しているかどうかを確認します。以前このファイルにカスタマイズを実施した場合、このディレクトリに存在します。このファイルが存在しない場合は、作成します。
編集可能な[確認済み]列を作成する方法
  1. ファイルを開き、以下の XML を追加します。
    <table idref="alarm-table-config"> <column-list> <column idref="column-alarmacknowledge-config"> <editable/> <default-width>37</default-width> </column> </column-list> </table>
  2. alarm-table-config.xml ファイルを[保存して閉じる]。
  3. OneClick クライアントを再起動して変更を有効にします。
    このコードは、ファクトリ alarm-table-config.xml ファイルの「column-alarmacknowledge-config」エントリをオーバーライドします。