Example usage for org.springframework.batch.core JobParametersBuilder toJobParameters

List of usage examples for org.springframework.batch.core JobParametersBuilder toJobParameters

Introduction

In this page you can find the example usage for org.springframework.batch.core JobParametersBuilder toJobParameters.

Prototype

public JobParameters toJobParameters() 

Source Link

Document

Conversion method that takes the current state of this builder and returns it as a JobParameters object.

Usage

From source file:io.spring.batch.integration.TweetToJobTransformer.java

@Transformer(inputChannel = "jobTweets", outputChannel = "jobChannel")
public JobLaunchRequest transform(Tweet tweet) {

    System.out.println("Creating request");

    String[] tweetParams = tweet.getText().split(" ");
    Job job = (Job) context.getBean(tweetParams[0]);

    System.out.println("Job = " + job.getName());

    JobParametersBuilder paramsBuilder = new JobParametersBuilder();

    for (int i = 1; i < tweetParams.length; i++) {
        String[] param = tweetParams[1].split("=");
        paramsBuilder.addString(param[0], param[1]);
    }//  w w w  . j av a2s . c o  m

    System.out.println("Parameters = " + paramsBuilder.toString());

    JobLaunchRequest request = new JobLaunchRequest(job, paramsBuilder.toJobParameters());

    return request;
}

From source file:org.obiba.onyx.core.batch.OnyxJobDetailDelegate.java

private JobParameters getJobParametersFromJobMap(Map<String, Object> jobDataMap) {

    JobParametersBuilder builder = new JobParametersBuilder();

    for (Entry<String, Object> entry : jobDataMap.entrySet()) {
        String key = entry.getKey();
        Object value = entry.getValue();
        if (value instanceof String && !key.equals(JOB_NAME)) {
            builder.addString(key, (String) value);
        } else if (value instanceof Float || value instanceof Double) {
            builder.addDouble(key, ((Number) value).doubleValue());
        } else if (value instanceof Integer || value instanceof Long) {
            builder.addLong(key, ((Number) value).longValue());
        } else if (value instanceof Date) {
            builder.addDate(key, (Date) value);
        } else {//from  ww w.ja  v  a 2  s. co  m
            log.debug("JobDataMap contains values which are not job parameters (ignoring).");
        }
    }

    return builder.toJobParameters();

}

From source file:com.greedchina.gcrawler.batch.JobLauncherDetails.java

private JobParameters getJobParametersFromJobMap(Map<String, Object> jobDataMap) {

    JobParametersBuilder builder = new JobParametersBuilder();

    builder.addLong("time", System.currentTimeMillis());

    for (Entry<String, Object> entry : jobDataMap.entrySet()) {
        String key = entry.getKey();
        Object value = entry.getValue();
        if (value instanceof String && !key.equals(JOB_NAME)) {
            builder.addString(key, (String) value);
        } else if (value instanceof Float || value instanceof Double) {
            builder.addDouble(key, ((Number) value).doubleValue());
        } else if (value instanceof Integer || value instanceof Long) {
            builder.addLong(key, ((Number) value).longValue());
        } else if (value instanceof Date) {
            builder.addDate(key, (Date) value);
        } else {/*from www  .jav  a 2  s . co m*/
            log.debug("JobDataMap contains values which are not job parameters (ignoring).");
        }
    }

    return builder.toJobParameters();

}

From source file:com.hybris.integration.handler.TradeHandler.java

public void execute() throws Exception {
    TradeDownloadRequest request = getTradeDownloadRequest();
    final List<Map<String, Date>> dateItems = CommonUtils.findDates(
            CommonUtils.stringToDate(request.getStartCreated()),
            CommonUtils.stringToDate(request.getEndCreated()));

    final JobParametersBuilder paramBuilder = new JobParametersBuilder();

    for (final String status : request.getStatus().split(",")) {
        paramBuilder.addString("fields", apiService.getSoldGetAPIFields());
        paramBuilder.addString("integrationId", request.getIntegrationId());
        paramBuilder.addLong("batchSize", request.getBatchSize());
        paramBuilder.addString("status", status);
        paramBuilder.addString("currency", request.getCurrency());
        paramBuilder.addString("productCatalogVersion", request.getProductCatalogVersion());

        int i = 1;
        for (final Map<String, Date> item : dateItems) {
            paramBuilder.addDate("startCreated", item.get("start"));
            paramBuilder.addDate("endCreated", item.get("end"));
            paramBuilder.addLong("timestamp", System.currentTimeMillis());

            jobLauncher.run((Job) ctx.getBean("tamllTradeJob"), paramBuilder.toJobParameters());
            LOGGER.info("Download Order thread has been started, the current Article " + i + " threads");
            i++;//from   w  ww.j  a  v  a 2s  .  c o  m
        }
    }
}

From source file:fr.hoteia.qalingo.core.batch.JobLauncherDetails.java

/**
 * Copy parameters that are of the correct type over to
 * {@link JobParameters}, ignoring jobName.
 * //from  w w w. ja v  a  2  s  . c o  m
 * @return a {@link JobParameters} instance
 */
private JobParameters getJobParametersFromJobMap(Map<String, Object> jobDataMap) {

    JobParametersBuilder builder = new JobParametersBuilder();
    builder.addString("Exec ISO date", isoDateFormat.format(new Date()));

    for (Entry<String, Object> entry : jobDataMap.entrySet()) {
        String key = entry.getKey();
        Object value = entry.getValue();
        if (value instanceof String && !key.equals(JOB_NAME)) {
            builder.addString(key, (String) value);

        } else if (value instanceof Float || value instanceof Double) {
            builder.addDouble(key, ((Number) value).doubleValue());

        } else if (value instanceof Integer || value instanceof Long) {
            builder.addLong(key, ((Number) value).longValue());

        } else if (value instanceof Date) {
            builder.addDate(key, (Date) value);

        } else {
            log.debug("JobDataMap contains values which are not job parameters (ignoring).");
        }
    }

    return builder.toJobParameters();
}

From source file:kr.okplace.job.launch.JobLauncherDetails.java

private JobParameters getJobParametersFromJobMap(Map<String, Object> jobDataMap) {

    JobParametersBuilder builder = new JobParametersBuilder();

    for (Entry<String, Object> entry : jobDataMap.entrySet()) {

        String key = entry.getKey();
        Object value = entry.getValue();

        if (value instanceof String && !key.equals(JOB_NAME)) {
            builder.addString(key, (String) value);
        } else if (value instanceof Float || value instanceof Double) {
            builder.addDouble(key, ((Number) value).doubleValue());
        } else if (value instanceof Integer || value instanceof Long) {
            builder.addLong(key, ((Number) value).longValue());
        } else if (value instanceof Date) {
            builder.addDate(key, (Date) value);
        } else {//from  w  ww  .ja v  a2s. co  m
            log.debug("JobDataMap contains values which are not job parameters (ignoring).");
        }

        builder.addLong("run.id", System.currentTimeMillis() / MIN_INTERVAL);
    }

    return builder.toJobParameters();
}

From source file:fr.acxio.tools.agia.common.JobLauncherDetails.java

/**
 * Copy parameters that are of the correct type over to
 * {@link org.springframework.batch.core.launch.JobLauncher JobParameters},
 * ignoring jobName.//from   ww  w.  j  av a2  s. co  m
 * 
 * @return a JobParameters instance
 */
private JobParameters getJobParametersFromJobMap(Map<String, Object> jobDataMap,
        JobParameters sPreviousJobParameters) {

    JobParametersBuilder builder = (sPreviousJobParameters != null)
            ? new JobParametersBuilder(sPreviousJobParameters)
            : new JobParametersBuilder();

    for (Entry<String, Object> entry : jobDataMap.entrySet()) {
        String key = entry.getKey();
        Object value = entry.getValue();
        if (value instanceof String && !key.equals(JOB_NAME)) {
            builder.addString(key, (String) value);
        } else if (value instanceof Float || value instanceof Double) {
            builder.addDouble(key, ((Number) value).doubleValue());
        } else if (value instanceof Integer || value instanceof Long) {
            builder.addLong(key, ((Number) value).longValue());
        } else if (value instanceof Date) {
            builder.addDate(key, (Date) value);
        } else {
            LOGGER.debug("JobDataMap contains values which are not job parameters (ignoring).");
        }
    }

    return builder.toJobParameters();

}

From source file:org.geoserver.backuprestore.Backup.java

/**
 * @return//  w w  w . j a  v a  2  s .c om
 * @throws IOException
 * 
 */
public BackupExecutionAdapter runBackupAsync(final Resource archiveFile, final boolean overwrite,
        final Filter filter, final Hints params) throws IOException {
    // Check if archiveFile exists
    if (archiveFile.file().exists()) {
        if (!overwrite && FileUtils.sizeOf(archiveFile.file()) > 0) {
            // Unless the user explicitly wants to overwrite the archiveFile, throw an exception whenever it already exists
            throw new IOException(
                    "The target archive file already exists. Use 'overwrite=TRUE' if you want to overwrite it.");
        } else {
            FileUtils.forceDelete(archiveFile.file());
        }
    } else {
        // Make sure the parent path exists
        if (!archiveFile.file().getParentFile().exists()) {
            try {
                archiveFile.file().getParentFile().mkdirs();
            } finally {
                if (!archiveFile.file().getParentFile().exists()) {
                    throw new IOException("The path to target archive file is unreachable.");
                }
            }
        }
    }

    // Initialize ZIP
    FileUtils.touch(archiveFile.file());

    // Write flat files into a temporary folder
    Resource tmpDir = BackupUtils.geoServerTmpDir(getGeoServerDataDirectory());

    // Fill Job Parameters
    JobParametersBuilder paramsBuilder = new JobParametersBuilder();

    if (filter != null) {
        paramsBuilder.addString("filter", ECQL.toCQL(filter));
    }

    paramsBuilder.addString(PARAM_JOB_NAME, BACKUP_JOB_NAME)
            .addString(PARAM_OUTPUT_FILE_PATH, BackupUtils.getArchiveURLProtocol(tmpDir) + tmpDir.path())
            .addLong(PARAM_TIME, System.currentTimeMillis());

    parseParams(params, paramsBuilder);

    JobParameters jobParameters = paramsBuilder.toJobParameters();

    // Send Execution Signal
    BackupExecutionAdapter backupExecution;
    try {
        if (getRestoreRunningExecutions().isEmpty() && getBackupRunningExecutions().isEmpty()) {
            synchronized (jobOperator) {
                // Start a new Job
                JobExecution jobExecution = jobLauncher.run(backupJob, jobParameters);
                backupExecution = new BackupExecutionAdapter(jobExecution, totalNumberOfBackupSteps);
                backupExecutions.put(backupExecution.getId(), backupExecution);

                backupExecution.setArchiveFile(archiveFile);
                backupExecution.setOverwrite(overwrite);
                backupExecution.setFilter(filter);

                backupExecution.getOptions().add("OVERWRITE=" + overwrite);
                for (Entry jobParam : jobParameters.toProperties().entrySet()) {
                    if (!PARAM_OUTPUT_FILE_PATH.equals(jobParam.getKey())
                            && !PARAM_INPUT_FILE_PATH.equals(jobParam.getKey())
                            && !PARAM_TIME.equals(jobParam.getKey())) {
                        backupExecution.getOptions().add(jobParam.getKey() + "=" + jobParam.getValue());
                    }
                }

                return backupExecution;
            }
        } else {
            throw new IOException(
                    "Could not start a new Backup Job Execution since there are currently Running jobs.");
        }
    } catch (JobExecutionAlreadyRunningException | JobRestartException | JobInstanceAlreadyCompleteException
            | JobParametersInvalidException e) {
        throw new IOException("Could not start a new Backup Job Execution: ", e);
    } finally {
    }
}