Cosminexus V9 ナビゲーション プラットフォーム 開発ガイド
入出力プラグインを配置したノードからほかのノードに遷移するときに,遷移元ノードの情報を取得して入力する処理を実行します。
ノード遷移時に,遷移元ノードの情報を取得して外部プログラムと連携するなどの,データ更新系の処理をこのメソッドで実装すると効果的です。
public Map<String, Object> inputFromNode(HttpSession session, Map<String, Object> param);
現在のセッションが格納されます。このセッションに対してsetAttribute()メソッドを実行する場合,setAttribute()メソッドの引数nameに次の名前を指定しないでください。
また,URLのリクエストパラメタを利用することもできます。URLのリクエストパラメタを利用する場合は,ucnp.request.optionsキーでucnpOptionsパラメタを取得する必要があります。
ucnpOptionsパラメタは,セッション単位または画面ID単位で取得できます。ucnpOptionsパラメタの値は画面ID単位で取得することを推奨します。画面ID単位で取得する方法については,「(b) param」を参照してください。
public class IoPluginController implements IIoPluginController { /** * 入出力プラグインのサーバ処理を実行します。 * * @param session * 現在のセッションです。 * @param param * クライアントから送信されるパラメタです。 */ public Map<String, Object> inputFromNode(HttpSession session, Map<String, Object> param){ /* 現在のセッションからucnpOptionsパラメタの値を取得します。 */ String ucnpOptions = (String) session.getAttribute("ucnp.request.options"); if (ucnpOptions != null) { /* ucnpOptionsパラメタが指定されていたら,その値に対する処理を記述します。 */ ・・・ } } } |
入出力プラグインの実行時に,クライアントから送信される情報が格納されます。詳細を次の表に示します。paramパラメタは更新しないでください。
表5-6 paramに格納されるキー(inputFromNodeメソッド)
項番 | キー名 | 値 | 説明 |
---|---|---|---|
1 | ucnp.current.params.map | Map<String,String>
|
入出力プラグインの実行時に,次に示すキーと値を対にしたMapとして渡されます。
キャッシュ値については「5.2.1(5) プラグインで保持されるキャッシュ値」を参照してください。 |
2 | ucnp.button.type | String 次のどれか
|
クリックされたボタンの種別,または遷移の種別を示します。
|
3 | ucnp.current.node.name | String 0文字以上の文字列 |
遷移元のガイドに対応したノードの名称が渡されます。 名称が設定されていないノードの場合は,空文字が渡されます。 |
4 | ucnp.next.node.name | String 0文字以上の文字列 |
遷移先のガイドに対応したノードの名称が渡されます。 名称が設定されていないノードの場合は,空文字が渡されます。 |
5 | ucnp.current.node.id | String 0文字以上の文字列 |
遷移元のガイドに対応したノードIDが渡されます。 ノードIDが設定されていない場合は,空文字が渡されます。 |
6 | ucnp.next.node.id | String 0文字以上の文字列 |
遷移先のガイドに対応したノードIDが渡されます。 ノードIDが設定されていない場合は空文字が渡されます。 |
7 | ucnp.flow.contents.id | String 1文字以上の文字列 |
選択中の業務コンテンツの業務コンテンツIDが渡されます。 |
8 | ucnp.flow.contents.name | String 1文字以上の文字列 |
選択中の業務コンテンツの業務名が渡されます。 |
9 | ucnp.screen.id | String 1文字以上の文字列 |
業務コンテンツを実行している画面を一意に識別するID(画面ID)が渡されます。 |
10 | ucnp.screen.ispreview | String 次のどちらか
|
業務コンテンツを実行している画面がプレビュー画面かどうかを示します。
|
11 | ucnp.options.param※ | String | 画面ID単位で取得したucnpOptionsパラメタのURLデコードした値を示します。 ucnpOptionsパラメタが指定されていない場合,このキーは設定されません。 |
public class IoPluginController implements IIoPluginController { /** * 入出力プラグインのサーバ処理を実行します。 * * @param session * 現在のセッションです。 * @param param * クライアントから送信されるパラメタです。 */ public Map<String, Object> inputFromNode(HttpSession session,Map<String, Object> param) { /* 引数からucnpOptionsパラメタの値を取得します。 */ String ucnpOptions = (String) param.get("ucnp.options.param"); if (ucnpOptions != null) { /* ucnpOptionsパラメタが指定されていたら,その値に対する処理を記述します。 */ } } } |
入出力プラグインの実行結果がMapで返されます。詳細を次の表に示します。これ以外の値は無視されます。
表5-7 inputFromNodeメソッドの戻り値
項番 | キー名 | 値 | 説明 |
---|---|---|---|
1 | ucnp.error.message | String 0文字以上の文字列 |
inputFromNodeメソッドを実行したあとに利用者にメッセージを表示したい場合,このキーを設定してください。 遷移元のノードに関連づけられたすべての入出力プラグインのinputFromNodeメソッドを実行したあとに,このキーに設定した文字列がメッセージダイアログに表示されます。 このキーを設定するときは,次の点に注意してください。
|
2 | ucnp.error.type | String 次のどちらか
|
ucnp.error.messageで設定したメッセージダイアログが表示されたあとに,ノード遷移を抑止するかどうかを設定してください。
|
3 | ucnp.error.params.list | List<String> 1文字以上の文字列 |
ノード遷移が抑止されているガイドパーツを強調表示したい場合,そのパーツに関連づけた入力パラメタのリストを,このキーの値に設定してください。色の付いた枠で強調表示されます。 強調表示時の枠の色のデフォルトは赤色です。この枠の色はユーザプロパティファイル(ucnp_user.properties)のucnp.base.client.erroritem.emphasis.border.colorプロパティで変更できます。 ユーザプロパティファイルについては,マニュアル「Cosminexus V9 ナビゲーション プラットフォーム 導入から運用まで」を参照してください。 このキーは,ucnp.error.messageキーと一緒に戻り値のMapに設定してください。ucnp.error.messageキーを設定していない場合は,このキーを設定しても,強調表示されません。 ノード遷移が抑止されていないときは,このキーに指定した値は無視されます。 |
inputFromNodeメソッドの戻り値と遷移元ノードに関連づけた入出力プラグイン実行後の動作を次の表に示します。
表5-8 戻り値と遷移元ノードに関連づけた入出力プラグイン実行後の動作
項番 | ucnp.error.messageの指定値 | ucnp.error.typeの指定値 | ucnp.error.params.listの指定値 | メソッドの実行結果 | ダイアログの表示の有無 | ノード遷移の有無 | 強調表示の有無 |
---|---|---|---|---|---|---|---|
1 | 指定なし,またはnull | NG | 指定あり(null以外) | 正常 | 無 | 無 | 無 |
2 | 指定なし,またはnull | 正常 | 無 | 無 | 無 | ||
3 | WARNING | 指定あり(null以外) | 正常 | 無 | 無 | 無 | |
4 | 指定なし,またはnull | 正常 | 無 | 無 | 無 | ||
5 | NGおよびWARNING以外 | 指定あり(null以外) | 正常 | 無 | 無 | 無 | |
6 | 指定なし,またはnull | 正常 | 無 | 無 | 無 | ||
7 | 指定あり(null以外) | NG | 指定あり(null以外) | エラー | 有 | 有 | 有 |
8 | 指定なし,またはnull | エラー | 有 | 有 | 無 | ||
9 | WARNING | 指定あり(null以外) | 警告 | 有 | 無 | 無 | |
10 | 指定なし,またはnull | 警告 | 有 | 無 | 無 | ||
11 | NGおよびWARNING以外 | 指定あり(null以外) | エラー | 有 | 有 | 有 | |
12 | 指定なし,またはnull | エラー | 有 | 有 | 無 |
なし
All Rights Reserved. Copyright (C) 2012, 2013, Hitachi, Ltd.