Package com.bhle.access.integration

Source Code of com.bhle.access.integration.JobLaunchRequestTransformer

package com.bhle.access.integration;

import org.springframework.batch.core.Job;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.JobParametersBuilder;
import org.springframework.batch.core.configuration.JobLocator;
import org.springframework.batch.core.launch.NoSuchJobException;
import org.springframework.batch.integration.launch.JobLaunchRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.integration.Message;
import org.springframework.integration.annotation.Transformer;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.stereotype.Component;

@Component
public class JobLaunchRequestTransformer {

  private static final String JOB_PARAM_PID_KEY = "PID";

  @Autowired
  private JobLocator jobLocator;

  @Transformer
  public Message<JobLaunchRequest> transform(Message<String> pidMessage) {
    JobParametersBuilder jobParametersBuilder = new JobParametersBuilder();
    jobParametersBuilder.addString(JOB_PARAM_PID_KEY,
        pidMessage.getPayload());
    JobParameters jobParameters = jobParametersBuilder.toJobParameters();

    Job job = null;
    try {
      job = jobLocator.getJob("generateDerivatives");
    } catch (NoSuchJobException e) {
      e.printStackTrace();
    }
    JobLaunchRequest jobLaunchRequest = new JobLaunchRequest(job,
        jobParameters);
    return MessageBuilder.withPayload(jobLaunchRequest).build();
  }

}
TOP

Related Classes of com.bhle.access.integration.JobLaunchRequestTransformer

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.