Package com.bhle.access.batch

Source Code of com.bhle.access.batch.DerivativeGenerationJobCreator

package com.bhle.access.batch;

import java.util.List;

import org.springframework.batch.core.Job;
import org.springframework.batch.core.JobExecution;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.JobParametersBuilder;
import org.springframework.batch.core.annotation.BeforeJob;
import org.springframework.batch.core.configuration.JobLocator;
import org.springframework.batch.core.launch.JobLauncher;
import org.springframework.batch.core.launch.NoSuchJobException;
import org.springframework.batch.item.ItemWriter;
import org.springframework.beans.factory.annotation.Autowired;

public class DerivativeGenerationJobCreator implements ItemWriter<String> {

  private static final String JOB_PARAM_PID_KEY = "PID";

  private JobLocator jobLocator;

  public void setJobLocator(JobLocator jobLocator) {
    this.jobLocator = jobLocator;
  }

  private JobLauncher jobLauncher;

  public void setJobLauncher(JobLauncher jobLauncher) {
    this.jobLauncher = jobLauncher;
  }

  @Override
  public void write(List<? extends String> pids) throws Exception {
    Job derivativeGenerationJob = jobLocator.getJob("generateDerivatives");

    for (String pid : pids) {
      JobParametersBuilder jobParametersBuilder = new JobParametersBuilder();
      jobParametersBuilder.addString(JOB_PARAM_PID_KEY, pid);
      JobParameters jobParameters = jobParametersBuilder
          .toJobParameters();
      jobLauncher.run(derivativeGenerationJob, jobParameters);
    }
  }

}
TOP

Related Classes of com.bhle.access.batch.DerivativeGenerationJobCreator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.