intra-mart Accel Kaiden! / プログラミングガイド

第2版 2014-08-01

«  4.3.3.2.1.2. 検索データのマスタ整合性チェック   ::   コンテンツ   ::   4.3.3.2.2. ワークフローアクション処理  »

4.3.3.2.1.3. 書式変換処理

取得データの書式変換処理を実装します。
アクションクラスから渡された書式変換クラスを使用します。

また、業務ロジックでの実装は必須ではありませんが、ガジェットブロックタイプが「normal」の場合、ここでList形式からMap形式に変換する必要があります。
メソッド名は「mapConvert」とします。
    /** JSON出力用の形式に変換し同時に書式も設定. */
    @Override
    protected Map<String, Object> mapConvert(Map<String, Object> dataMap, ConvertForJsonSource converter,
            ProcessType processType) {
        
        // チュートリアルガジェットはガジェットブロックタイプが「normal」ですので、ListからMapに変換しています
        @SuppressWarnings("unchecked")
        List<GadgetTutorialManagerDto> listDto = (List<GadgetTutorialManagerDto>) dataMap.get(BLOCK_KEY_TUTORIAL_TABLE);
        if (CollectionUtil.isNotEmpty(listDto)) {
            dataMap.put(BLOCK_KEY_TUTORIAL_TABLE, BeanUtil.toMap(listDto.get(0), true));
        } else {
            dataMap.put(BLOCK_KEY_TUTORIAL_TABLE, new HashMap<String, Object>());
        }
        
        // コンバータクラスを使用して書式変換処理を行っています
        return converter.mapConvert(dataMap);
    }

4.3.3.2.1.3.1. 解説

書式変換処理に使用するコンバータクラスはActionからLogic呼び出し時に渡した書式変換クラスになります。
もしmapConvertを業務ロジックで実装しない場合、intra-mart Accel Kaiden! 内部の基底ロジックでreturn converter.mapConvert(dataMap);が実行されます。

«  4.3.3.2.1.2. 検索データのマスタ整合性チェック   ::   コンテンツ   ::   4.3.3.2.2. ワークフローアクション処理  »