in helix-core/src/main/java/org/apache/helix/task/JobConfig.java [504:586]
public static Builder fromMap(Map<String, String> cfg) {
Builder b = new Builder();
if (cfg.containsKey(JobConfigProperty.WorkflowID.name())) {
b.setWorkflow(cfg.get(JobConfigProperty.WorkflowID.name()));
}
if (cfg.containsKey(JobConfigProperty.JobID.name())) {
b.setJobId(cfg.get(JobConfigProperty.JobID.name()));
}
if (cfg.containsKey(JobConfigProperty.TargetResource.name())) {
b.setTargetResource(cfg.get(JobConfigProperty.TargetResource.name()));
}
if (cfg.containsKey(JobConfigProperty.TargetPartitions.name())) {
b.setTargetPartitions(csvToStringList(cfg.get(JobConfigProperty.TargetPartitions.name())));
}
if (cfg.containsKey(JobConfigProperty.TargetPartitionStates.name())) {
b.setTargetPartitionStates(new HashSet<>(
Arrays.asList(cfg.get(JobConfigProperty.TargetPartitionStates.name()).split(","))));
}
if (cfg.containsKey(JobConfigProperty.Command.name())) {
b.setCommand(cfg.get(JobConfigProperty.Command.name()));
}
if (cfg.containsKey(JobConfigProperty.JobCommandConfig.name())) {
Map<String, String> commandConfigMap = TaskUtil
.deserializeJobCommandConfigMap(cfg.get(JobConfigProperty.JobCommandConfig.name()));
b.setJobCommandConfigMap(commandConfigMap);
}
if (cfg.containsKey(JobConfigProperty.Timeout.name())) {
b.setTimeout(Long.parseLong(cfg.get(JobConfigProperty.Timeout.name())));
}
if (cfg.containsKey(JobConfigProperty.TimeoutPerPartition.name())) {
b.setTimeoutPerTask(Long.parseLong(cfg.get(JobConfigProperty.TimeoutPerPartition.name())));
}
if (cfg.containsKey(JobConfigProperty.ConcurrentTasksPerInstance.name())) {
b.setNumConcurrentTasksPerInstance(
Integer.parseInt(cfg.get(JobConfigProperty.ConcurrentTasksPerInstance.name())));
}
if (cfg.containsKey(JobConfigProperty.MaxAttemptsPerTask.name())) {
b.setMaxAttemptsPerTask(
Integer.parseInt(cfg.get(JobConfigProperty.MaxAttemptsPerTask.name())));
}
if (cfg.containsKey(JobConfigProperty.FailureThreshold.name())) {
b.setFailureThreshold(Integer.parseInt(cfg.get(JobConfigProperty.FailureThreshold.name())));
}
if (cfg.containsKey(JobConfigProperty.TaskRetryDelay.name())) {
b.setTaskRetryDelay(Long.parseLong(cfg.get(JobConfigProperty.TaskRetryDelay.name())));
}
if (cfg.containsKey(JobConfigProperty.DelayTime.name())) {
b.setExecutionDelay(Long.parseLong(cfg.get(JobConfigProperty.DelayTime.name())));
}
if (cfg.containsKey(JobConfigProperty.StartTime.name())) {
b.setExecutionStart(Long.parseLong(cfg.get(JobConfigProperty.StartTime.name())));
}
if (cfg.containsKey(JobConfigProperty.DisableExternalView.name())) {
b.setDisableExternalView(
Boolean.parseBoolean(cfg.get(JobConfigProperty.DisableExternalView.name())));
}
if (cfg.containsKey(JobConfigProperty.IgnoreDependentJobFailure.name())) {
b.setIgnoreDependentJobFailure(
Boolean.parseBoolean(cfg.get(JobConfigProperty.IgnoreDependentJobFailure.name())));
}
if (cfg.containsKey(JobConfigProperty.JobType.name())) {
b.setJobType(cfg.get(JobConfigProperty.JobType.name()));
}
if (cfg.containsKey(JobConfigProperty.InstanceGroupTag.name())) {
b.setInstanceGroupTag(cfg.get(JobConfigProperty.InstanceGroupTag.name()));
}
if (cfg.containsKey(JobConfigProperty.Expiry.name())) {
b.setExpiry(Long.valueOf(cfg.get(JobConfigProperty.Expiry.name())));
}
if (cfg.containsKey(JobConfigProperty.TerminalStateExpiry.name())) {
b.setTerminalStateExpiry(
Long.valueOf(cfg.get(JobConfigProperty.TerminalStateExpiry.name())));
}
if (cfg.containsKey(JobConfigProperty.RebalanceRunningTask.name())) {
b.setRebalanceRunningTask(
Boolean.parseBoolean(cfg.get(JobConfigProperty.RebalanceRunningTask.name())));
}
if (cfg.containsKey(ZNRecord.ENABLE_COMPRESSION_BOOLEAN_FIELD)) {
b.setEnableCompression(
Boolean.parseBoolean(cfg.get(ZNRecord.ENABLE_COMPRESSION_BOOLEAN_FIELD)));
}
return b;
}