PEXA Supportについて

PEXAプロパティ

トランスレータ

印刷フレームワーク

AETフレームワーク

ワークフロー

動的フォーム

変換フレームワーク

テンプレートエンジン

カレンダー

タスクスケジューラー

目次

  1. このドキュメントについて
  2. 変換定義ファイル
  3. pluginセクション


このドキュメントについて

このドキュメントは、PEXA変換フレームワークが読み込む定義ファイルについて解説したものです。


変換定義ファイル

ConvertService定義ファイルは、変換処理の実行内容を定義するためのファイルです。
ConvertServiceName毎の対応するコンバータタイプ、利用するプラグイン、変換処理におけるマッピング情報などを記述します。

このファイルは、プロジェクトワークスペースの以下のフォルダに格納してください。

  ${PRJHOME}/src/convert
また、ファイルの拡張子は必ず".conv"としてください。
上記のフォルダに.convという拡張子でファイルを保存しておくことで、ビルド対象となり一覧ファイルに登録されます。

例:
  ${PRJHOME}/src/conv/棚卸CSV取込.conv

以下がConvertService定義ファイルの記述例です。
個々の設定内容については以降で説明します。

記述例:

(converter
    ;---------------------------------------------------------------
    ; 変換定義
    ;---------------------------------------------------------------
    converter_name      棚卸CSV取込
    converter_type      plugin
    ;---------------------------------------------------------------
    ; コンバータタイプ毎の設定情報セクション
    ;---------------------------------------------------------------
    (plugin
        ;---------------------------------------------------------
        ; プラグインするクラスの指定
        ;---------------------------------------------------------
        class       cspd.share.util.conv.plugin.CsvImportConverter
        ;---------------------------------------------------------
        ; プラグインクラスに渡すことが出来る変換設定情報(例)
        ;---------------------------------------------------------
        (import
            start_record    2                       ;;読込データの開始行(省略時は最初の行から?)
            constraint      項目その1,項目その2   ;;読込データの一意性チェック対象項目(チェックに引っかかったらエラー情報に出力)
            {record
                (項目その1
                    column      A           ;;読込対象の列(Excel風にAとかAAとかABとかを指定)
                    ptype       現象型1     ;;読込項目の現象型指定
                    required    true        ;;必須フラグ(trueの場合に取得できなければエラー情報に出力する)
                )
                (項目その2
                    column      B
                    ptype       現象型2
                    required    false
                    default     ""
                )
                (項目その3
                    column      C
                    ptype       現象型3
                    required    true
                )
            }
        )
    )
)

converter_name宣言

ConvertService名を指定します。
この名前はシステム内で必ずユニークになる必要があります。

ここで宣言されたConvertService名が、ServiceFrameworkのconvertプロセスでconverter宣言で指定されることになります。


converter_type属性

converterタイプを設定します。
ここで指定できるタイプ名はあらかじめPEXA側で用意されたものとなります。

現状では、以下のタイプを指定することが出来ます。

コンバータタイプ名 説明
plugin 任意の変換処理を実装したプラグインクラスを呼び出すタイプのコンバーターです。
システム毎の都合に合わせて用意された機能を呼び出す場合に使用します。
プラグインクラスは、PEXA側で用意しているインタフェース及び抽象基底クラスを実装して作成します。

コンバータタイプ毎の設定情報セクション

converter_type属性で指定したタイプ名でサブセクションを記述することで、 そのタイプ毎に決められたフォーマットで設定情報を記述することが出来ます。

現在、converter_typeで指定できるのは"plugin"だけとなっており、 現状では具体的な変換処理自体はシステム毎に用件に合わせて個別に作成する必要があります。

今後、実際の開発プロジェクト毎にこのフレームワーク上で実装された機能がもし汎用的に 使用できるものであれば、それらをPEXA組み込みの変換機能として取り込む予定です。

現在の予定としては、以下のような機能を組み込み機能として取り込む予定です。

  1. CSVデータからデータモデル(基本的にリスト)への変換及び読込時の値チェック
  2. データモデル(単体もしくはリスト)をCSVデータに変換
実際に組み込み機能としてPEXA側に取り込むことができたら、順次この開発ガイドに反映していきます。
以下で、各converter_type毎の設定セクションで記述できる内容について説明します。



pluginセクション

converter_typeがpluginの場合は、以下の情報を設定することが出来ます。

class宣言

変換フレームワークを通して呼び出すプラグインクラスの名前を指定します。
ここで指定するクラスは以下のインタフェースを実装したクラスである必要があります。

    pexa.pexa.share.util.conv.service.ConvertPlugin
詳細については別途プラグインクラスについてのガイドを参照して下さい。


プラグインクラスに対して渡す任意の設定情報

上記のclass宣言以外に、プラグインクラスに対して渡したい設定情報をclass宣言に続けて PEXAプロパティ形式で自由に記述することが出来ます。

ここで記述された内容はプラグインクラスのコンストラクタにjava.util.Map形式で渡されますので、 その内容に従って変換処理を実行させる形でプラグインクラスを実装することで、システム毎の固有の 変換処理スキーマを定義することが可能です。



更新情報

  • 最終更新者 : $Author: morishita $
  • 最終更新日時 : $Date:: 2009-10-06 23:49:34 #$
  • バージョン : $Revision: 4261 $



Copyright © 2006, Atrris Corporation