String executionId,
String strEndDate,
String recoveryTable) {
// 引数を分解
ImportBean bean = new ImportBean();
// Import処理区分
ImportType importType = ImportType.find(importerType);
if (ImportType.PRIMARY.equals(importType)) {
bean.setPrimary(true);
} else if (ImportType.SECONDARY.equals(importType)) {
bean.setPrimary(false);
} else {
LOG.error("TG-IMPORTER-01008", "Import処理区分", importerType);
return null;
}
// ターゲット名
bean.setTargetName(targetName);
// バッチID
bean.setBatchId(batchId);
// ジョブフローID
bean.setJobflowId(jobflowId);
// ジョブフロー実行ID
bean.setExecutionId(executionId);
// ジョブネットの終了予定時刻
if (strEndDate.length() != 14) {
LOG.error("TG-IMPORTER-01008", "ジョブネットの終了予定時刻", strEndDate);
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
Date endDate = null;
try {
Long.parseLong(strEndDate);
endDate = sdf.parse(strEndDate);
} catch (NumberFormatException e) {
LOG.error(e, "TG-IMPORTER-01008", "ジョブネットの終了予定時刻", strEndDate);
return null;
} catch (ParseException e) {
Integer.parseInt(strEndDate);
LOG.error(e, "TG-IMPORTER-01008", "ジョブネットの終了予定時刻", strEndDate);
return null;
}
bean.setJobnetEndTime(endDate);
// プロパティから値を取得
// リトライ回数・リトライインターバル
bean.setRetryCount(Integer.parseInt(
ConfigurationLoader.getProperty(Constants.PROP_KEY_IMP_RETRY_COUNT)));
bean.setRetryInterval(Integer.parseInt(
ConfigurationLoader.getProperty(Constants.PROP_KEY_IMP_RETRY_INTERVAL)));
// DSLプロパティを読み込み
JobFlowParamLoader paramLoader = createJobFlowParamLoader();
if (!paramLoader.loadImportParam(
bean.getTargetName(), bean.getBatchId(), bean.getJobflowId(), bean.isPrimary())) {
return null;
}
bean.setTargetTable(paramLoader.getImportTargetTables());
return bean;
}