ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebCenter Captureのためのスクリプトの開発
11g リリース1 (11.1.1)
E51442-01
  ドキュメント・ライブラリへ移動
ライブラリ
目次へ移動
目次

前
 
次
 

6 インポート・プロセッサ・スクリプトの作成

この章では、インポート・プロセッサ・スクリプトの作成について説明します。

インポート・プロセッサには多数の機能があり、インポート・プロセスのカスタマイズが必要な場合のために、様々なカスタマイズ方法があります。

この章では、次の内容を説明します。

6.1 インポート・プロセッサのスクリプト処理

インポート・プロセッサ用のスクリプトを開発すると、様々な機能を実行できます。一般的なタスクには、次のようなものがあります。

インポート・ジョブで、処理時に使用するスクリプトが指定されている場合は、インポート・プロセッサBeanによってJDKのScriptRuntimeクラスのインスタンスが作成され、ジョブで指定されたスクリプトを使用して初期化されます。インポート・プロセッサBean、インポート・マネージャBeanおよびインポート・ソースのすべてが、このスクリプト処理ランタイムを共有します。

この項では、次のイベントを定義します。

6.1.1 インポート・プロセッサのイベント

次の表に、インポート・プロセッサのイベントの定義を示します。

イベント 説明

public void preProcess(ImportProcessorContext ctx);

このイベントは、インポート・ソースの前処理の前に発生します。初期化コードをここで実行できます。

public process(ImportProcessorContext ctx;)

このイベントは、インポート・プロセスの開始を表します。

public void postProcess(ImportProcessorContext ctx);

このイベントは、インポート・ソースの処理が完了した後に発生します。クリーンアップ・コードをここで実行できます。

public void preCreateBatch(ImportProcessorContext ctx);

このイベントは、新しいバッチの開始直後に発生します。

public void postCreateBatch(ImportProcessorContext ctx);

このイベントは、バッチの作成直後で、ドキュメントが作成される前に発生します。

public void preCreateDocument(ImportProcessorContext ctx);

このイベントは、新しいドキュメントが作成される前に発生します。

public void postCreateDocument(ImportProcessorContext ctx);

このイベントは、新しいドキュメントが作成された後に発生します。

public void preImportFile(ImportProcessorContext ctx);

このイベントは、ファイルがインポートされる前に発生します。

public void postImportFile(ImportProcessorContext ctx);

このイベントは、ファイルがインポートされた後に発生します。

public void preRelease(ImportProcessorContext ctx);

このイベントは、バッチがリリースされる前に発生します。

public void postRelease(ImportProcessorContext ctx);

このイベントは、バッチがリリースされた後に発生します。

public void preDatabaseSearch(ImportProcessorContext ctx);

このイベントは、データベース参照の前に発生します。

public void processDatabaseSearchResults(ImportProcessorContext ctx);

このイベントは、データベース参照によって検索結果が返された後に発生します。


6.1.2 電子メール・ソースのイベント

次の表に、電子メール・ソースのイベントの説明を示します。

イベント 説明

public void newMessage(ImportProcessorContext ctx, EmailSourceContext emailCtx);

このイベントは、新しい電子メール・メッセージが処理される直前に発生します。

public void newAttachment(ImportProcessorContext ctx, EmailSourceContext emailCtx);

このイベントは、新しい電子メール添付ファイルが処理される直前に発生します。

public void deleteMessage(ImportProcessorContext ctx, EmailSourceContext emailCtx);

このイベントは、電子メール・メッセージ後処理ステップの中で、電子メール・メッセージが削除される直前に発生します。

public void moveMessage(ImportProcessorContext ctx, EmailSourceContext emailCtx);

このイベントは、電子メール・メッセージ後処理ステップの中で、電子メール・メッセージが電子メール・フォルダに移動される直前に発生します。


6.1.3 フォルダ・ソースのイベント

次の表に、フォルダ・ソースのイベントの説明を示します。

イベント 説明

public void newFolder(ImportProcessorContext ctx, FolderSourceContext folderCtx);

このイベントは、新しいフォルダが処理される直前に発生します。

public void deleteDocumentFile(ImportProcessorContext ctx, FolderSourceContext folderCtx);

このイベントは、フォルダ後処理ステップの中で、フォルダからファイルが削除される直前に発生します。

public void renameDocumentFile(ImportProcessorContext ctx, FolderSourceContext folderCtx);

このイベントは、フォルダ後処理ステップの中で、フォルダ内のファイルの名前が変更される直前に発生します。


6.1.4 リスト・ファイル・ソースのイベント

次の表に、リスト・ファイル・ソースのイベントの説明を示します。

イベント 説明

public void newFolder(ImportProcessorContext ctx, ListFileSourceContext listFileCtx);

このイベントは、リスト・ファイルが格納されている新しいフォルダが処理される直前に発生します。

public void newListFile(ImportProcessorContext ctx, ListFileSourceContext listFileCtx);

このイベントは、新しいリスト・ファイルが処理される直前に発生します。

public void newListFileLine(ImportProcessorContext ctx, ListFileSourceContext listFileCtx);

このイベントは、リスト・ファイル内の新しい行が処理される直前に発生します。

public void deleteListFile(ImportProcessorContext ctx, ListFileSourceContext listFileCtx);

このイベントは、リスト・ファイル後処理ステップの中で、リスト・ファイルが削除される直前に発生します。

public void renameListFile(ImportProcessorContext ctx, ListFileSourceContext listFileCtx);

このイベントは、リスト・ファイル後処理ステップの中で、リスト・ファイルの名前が変更される直前に発生します。


6.2 インポート・プロセッサのクラス

この項では、次のインポート・プロセッサのクラス定義します。

6.2.1 ImportJob

インポート・ジョブは、バッチをインポート・ソース(ファイル・システム・フォルダ、区切り形式リスト・ファイル、電子メール・サーバーの受信トレイ/フォルダなど)からインポートするよう、キャプチャ・ワークスペース内で構成されます。次の表に、インポート・ジョブのプロパティの定義を示します。

プロパティ 説明

String jobID

ジョブをシステム内で一意に識別する値。これはGUIDとなります。

String workspaceID

ジョブが属するワークスペースの識別子。

String jobName

人間が判読可能なジョブ名。

String dbSearchID

ジョブの処理時に使用されるデータベース検索の識別子。

String dbSearchFieldID

ジョブの処理時に使用されるデータベース検索フィールドの識別子。

Integer imageDownsample

この整数によって、イメージのサンプリング方法が決まります。

0: なし(イメージ形式を維持)

1: 色を8ビット・グレースケールにダウンサンプル

2: 色またはグレースケールを白黒にダウンサンプル

Integer jpegQuality

JPEG画質(0から99)。

String batchPrefix

バッチ名の作成時に使用されるバッチ接頭辞。

String defaultBatchStatusID

このジョブで作成されたバッチに関連付けられるバッチ・ステータスの識別子。

Integer defaultPriority

バッチに割り当てられるデフォルトの優先度(0から10)。

String defaultDocumentTypeID

このジョブで作成されたドキュメントのデフォルトのドキュメント・プロファイル。

Integer searchResultOption

データベース参照で複数の結果が返されたときの処理方法を決定します。

0: 最初のレコードを使用する

1: 結果を無視する(フィールドに値を移入しない)

String scriptID

このジョブに使用されるスクリプトの一意の識別子。

Integer importFrequency

ジョブで処理する作業をポーリングする頻度を指定する値(秒単位)。次の値を指定できます。

0: 非アクティブ

30: 30秒ごと

60: 1分ごと

300: 5分ごと

900: 15分ごと

1800: 30分ごと

3600: 1時間ごと

-1: 毎日(時刻を指定)

Integer hour

importFrequencyが毎日に設定されている場合、ここで時刻(時)を指定します。

Integer minute

importFrequencyが毎日に設定されている場合、ここで時刻(分)を指定します。

Date lastCheck

処理するジョブが最後にチェックされた日時。これは、ジョブで処理する作業がポーリングされた後にインポート・ジョブ・スケジューラによって更新されます。

Map<String, FieldMappingInfo> fieldMappings

ソース・メタデータ・フィールドをインポートするためにキャプチャのフィールドをマッピングする値のセット。

String importSourceClassName

このジョブのインポート・ソースを実装するJavaクラスの名前。

ImportSourceConfiguration importSourceConfig

このジョブに対して定義されたインポート・ソースの構成が格納されます。

String batchProcessorClassName

バッチがリリースされるときの処理に使用されるクラスの名前。この値がnullの場合は、バッチ・ロックが破棄されてバッチがREADY状態になります。

String batchProcessorJobID

バッチ・プロセッサ・ジョブの一意の識別子。この値がnullの場合は、プロセッサがジョブをサポートしていないか、バッチがREADY状態に移行しようとしています。

Integer imageFailureAction

これは、無効なイメージが検出されたときに実行されるアクションです。

0: バッチを強制終了する

1: アイテムをスキップする

Locale locale

リスト・ファイル・ソースのロケールを指定します。

String defaultDateFormat

リスト・ファイル・ソース内の日付のデフォルトの形式を指定します。

String description

このジョブの説明。

String encoding

リスト・ファイル・ソースのファイル・エンコーディングを指定します。

Boolean isJobOnline

このジョブを処理するかどうかを示します。


6.2.2 ImportProcessorContextクラス

ImportProcessorContextクラスには、処理されるジョブに関連するプロパティが格納されます。このクラスのインスタンスが処理開始前に作成され、処理の様々なステージでインポート・ソースに渡されます。

プロパティ 説明

Boolean cancel

このブール値がTrueに設定されている場合、実行される操作が取り消されます。

Boolean cancelDBSearch

このブール値がTrueに設定されている場合、データベース参照が取り消されます。

DBSearchResults dbSearchResults

ここには、データベース参照の結果が格納されます。

String sourceName

現在のインポート・ジョブで使用するように構成されているインポート・ソースの名前。

Logger logger

これはインポート・プロセッサのLoggerクラスのインスタンスであり、これを使用すると処理関連の情報をログに記録できます。

ImportManagerSession importManager

これは、このコンテキストで使用されるインポート・マネージャ・セッションBeanです。

ScriptEngine scriptEngine

インポート・プロセッサ・スクリプト内のメソッドの起動に使用されるスクリプト処理エンジン。

ImportJob importJob

これは、現在処理されているインポート・ジョブです。

BatchLockEntity ble

ここには、新しいバッチの作成後、バッチのバッチ・ロック・エンティティが格納されます。

String importSourceFile

これは、現在処理されているファイルの名前です。

DocumentEntity documentEntity

現在処理されているファイルに関連付けられているドキュメント・エンティティ。

DocumentPageEntity documentPageEntity

これは、現在処理されているファイルに関連付けられているドキュメント・ページ・エンティティです。

ImportHATokenEntity importHATokenEntity

これは、現在のバッチに関連付けられている高可用性トークンです。

Integer lastMultiPageTiffNumber

ここには、処理されている複数ページTIFFファイルの、現在のページ番号が格納されます。

CaptureWorkspaceEntity workspaceEntity

これは、現在のバッチに関連付けられているワークスペース・エンティティです。

WorkspaceManager workspaceManager

これは、現在のインポート・ジョブに関連付けられているワークスペース・マネージャです。


6.2.3 インポート・プロセッサで使用されるキャプチャのコア・クラス

次の表に、インポート・プロセッサで使用されるキャプチャのコア・クラスの説明を示します。

クラス プロパティ 説明

oracle.odc.data.DBSearchResults

List<DBSearchResultRow>

データベース参照からの行のリスト。


List<DBSearchFieldInfo> fieldInfoList

データベース参照で使用される列を説明する、検索フィールド情報のリスト。

oracle.odc.data.DBSearchResultRow

List<String> results

データベース参照からの結果のリスト。リスト内のアイテムはそれぞれ1つの列を表します。

oracle.odc.data.DBSearchFieldInfo

String captureIndexDefID

キャプチャ・メタデータ・フィールド定義のID。


String dbColumnName

データベース参照列の名前。


Integer dbColumnType

データベース参照列のタイプ。


Integer captureFieldType

キャプチャ・メタデータ・フィールド定義のタイプ。


6.2.4 電子メール・ソースのクラス

次の表に、電子メール・ソースのクラスの説明を示します。FolderおよびMessageのクラス定義は、Javamail APIのドキュメントを参照してください。

クラス プロパティ 説明

oracle.odc.importprocessor.email.EmailSourceContext

String account

現在処理されている電子メール・アカウントの名前。


Folder folder

現在処理されている電子メール・フォルダ。


Message message

現在処理されている電子メール・メッセージ。


String attachmentFilename

現在処理されている電子メール・メッセージ添付ファイルのファイル名。


6.2.5 フォルダ・ソースのクラス

次の表に、フォルダ・ソースのクラスの説明を示します。

クラス プロパティ 説明

oracle.odc.importprocessor.folder.FolderSourceContext

String folderName

現在処理されているディレクトリの名前。


String documentFilename

現在処理されているファイルの名前。


String renamedDocumentFilename

後処理ステップでファイルへの接頭辞追加または拡張子の変更が指定されている場合は、このプロパティが変更後のファイル名を示します。


6.2.6 リスト・ファイル・ソースのクラス

次の表に、リスト・ファイル・ソースのクラスの説明を示します。

クラス プロパティ 説明

oracle.odc.importprocessor.listfile.ListFileSourceContext

String folderName

現在処理されているフォルダの名前。


String listFilename

現在処理されているリスト・ファイルの名前。


String listFileLine

リスト・ファイル内の現在処理されている行の内容。


String documentFilename

リスト・ファイルの現在の行から現在処理されているファイルの名前。


String renamedListFilename

後処理ステップでリスト・ファイルへの接頭辞追加または拡張子の変更が指定されている場合は、このプロパティが変更後のファイル名を示します。