String keepDate = prop.getProperty(Constants.PROP_KEY_HDFS_FILE_KEEP_DATE);
if (isEmpty(keepDate)) {
prop.setProperty(Constants.PROP_KEY_HDFS_FILE_KEEP_DATE, Constants.PROP_DEFAULT_HDFS_FILE_KEEP_DATE);
} else {
if (!isNumber(keepDate, 0)) {
throw new CleanerSystemException(
ConfigurationLoader.class,
MessageIdConst.CMN_PROP_CHECK_ERROR,
"HDFSCleanerでクリーニング対象を保持する期間の設定が不正。設定値:" + keepDate);
}
}
// 必須チェック
// HDFSのプロトコルとホスト名
if (isEmpty(prop.getProperty(Constants.PROP_KEY_HDFS_PROTCOL_HOST))) {
throw new CleanerSystemException(
ConfigurationLoader.class,
MessageIdConst.CMN_PROP_CHECK_ERROR,
"HDFSのプロトコルとホスト名が設定されていない。");
}
// クリーニング対象ディレクトリ
List<String> cleanDirList = getPropStartWithString(Constants.PROP_KEY_HDFS_FILE_CLEAN_DIR + ".");
List<String> noEmptyList = getNoEmptyList(cleanDirList);
if (noEmptyList.size() == 0) {
throw new CleanerSystemException(
ConfigurationLoader.class,
MessageIdConst.CMN_PROP_CHECK_ERROR,
"HDFSCleanerでクリーニング対象ディレクトリが設定されていない。");
}
}