String getJobId() {
return this.jobInfo.getId();
}
void createJob(Config cfg) throws AsyncApiException {
JobInfo job = new JobInfo();
final OperationEnum op = cfg.getOperationInfo().getOperationEnum();
job.setOperation(op);
if (op == OperationEnum.upsert) {
job.setExternalIdFieldName(cfg.getString(Config.EXTERNAL_ID_FIELD));
}
job.setObject(cfg.getString(Config.ENTITY));
job.setContentType(cfg.getBoolean(Config.BULK_API_ZIP_CONTENT) && op != OperationEnum.query ? ContentType.ZIP_CSV
: ContentType.CSV);
job.setConcurrencyMode(cfg.getBoolean(Config.BULK_API_SERIAL_MODE) ? ConcurrencyMode.Serial
: ConcurrencyMode.Parallel);
if (op == OperationEnum.update || op == OperationEnum.upsert || op == OperationEnum.insert) {
final String assRule = cfg.getString(Config.ASSIGNMENT_RULE);
if (assRule != null && (assRule.length() == 15 || assRule.length() == 18)) {
job.setAssignmentRuleId(assRule);
}
}
job = this.client.createJob(job);
logger.info(Messages.getMessage(getClass(), "logJobCreated", job.getId()));
this.jobInfo = job;
}