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 { log.debug("JobDataMap contains values which are not job parameters (ignoring)."); } } return builder.toJobParameters(); }
/** * Increment the run.id parameter (starting with 1). */ @Override public JobParameters getNext(@Nullable JobParameters parameters) { JobParameters params = (parameters == null) ? new JobParameters() : parameters; long id = params.getLong(key, new Long(0)) + 1; return new JobParametersBuilder(params).addLong(key, id).toJobParameters(); }
@Override public JobParameters getNext(JobParameters parameters) { return new JobParametersBuilder().addString("foo","bar").toJobParameters(); } });
@Override public JobParameters getJobParameters(@Nullable Properties props) { if (props == null || props.isEmpty()) { return new JobParameters(); } JobParametersBuilder propertiesBuilder = new JobParametersBuilder(); for (Entry<Object, Object> entry : props.entrySet()) { if (entry.getKey().equals(SCHEDULE_DATE_KEY)) { Date scheduleDate; try { scheduleDate = dateFormat.parse(entry.getValue().toString()); } catch (ParseException ex) { throw new IllegalArgumentException("Date format is invalid: [" + entry.getValue() + "]"); } propertiesBuilder.addDate(entry.getKey().toString(), scheduleDate); } else { propertiesBuilder.addString(entry.getKey().toString(), entry.getValue().toString()); } } return propertiesBuilder.toJobParameters(); }
protected JobParameters getJobParameters(String fileName) { return new JobParametersBuilder().addLong("timestamp", new Date().getTime()).addString("inputFile", fileName) .addString("outputFile", "file:./build/test-outputs/delimitedOutput.csv").toJobParameters(); } }
private JobExecution launch(boolean start, long jobExecutionId) throws Exception { if (start) { Calendar c = Calendar.getInstance(); JobParametersBuilder builder = new JobParametersBuilder(); builder.addDate("TIMESTAMP", c.getTime()); JobParameters jobParameters = builder.toJobParameters(); return jobLauncher.run(job, jobParameters); } else { JdbcJobExecutionDao dao = new JdbcJobExecutionDao(); dao.setJdbcTemplate(jdbcTemplate); JobExecution execution = dao.getJobExecution(jobExecutionId); if (execution != null) { return jobLauncher.run(job, execution.getJobParameters()); } return null; } }
@Override protected JobParameters getUniqueJobParameters() { return new JobParametersBuilder(super.getUniqueJobParameters()).addDouble("credit", 10000.).toJobParameters(); }
protected JobParameters getJobParameters(double amount) { return new JobParametersBuilder().addLong("timestamp", new Date().getTime()).addDouble("credit", amount) .toJobParameters(); } }
@Test public void testOrderedStrings(){ this.parametersBuilder.addString("foo", "value foo"); this.parametersBuilder.addString("bar", "value bar"); this.parametersBuilder.addString("spam", "value spam"); Iterator<String> parameters = this.parametersBuilder.toJobParameters().getParameters().keySet().iterator(); assertEquals("foo", parameters.next()); assertEquals("bar", parameters.next()); assertEquals("spam", parameters.next()); }
@Test public void testGetNextJobParametersRestartable(){ this.job.setRestartable(true); this.job.setJobParametersIncrementer(new RunIdIncrementer()); this.jobInstanceList.add(new JobInstance(1L, "simpleJobInstance")); this.jobExecutionList.add(getJobExecution(this.jobInstanceList.get(0), BatchStatus.FAILED)); when(this.jobExplorer.getJobInstances("simpleJob",0,1)).thenReturn(this.jobInstanceList); when(this.jobExplorer.getJobExecutions(any())).thenReturn(this.jobExecutionList); initializeForNextJobParameters(); this.parametersBuilder.addLong("NON_IDENTIFYING_LONG", new Long(1), false); this.parametersBuilder.getNextJobParameters(this.job); baseJobParametersVerify(this.parametersBuilder.toJobParameters(), 5); }
boolean tmp = p.getAsBoolean(); Long v = tmp == true ? 1l : 0l; builder.addLong(key, v, isIdentifying); } else if(p.isString()) { String tmp = p.getAsString(); builder.addString(key, tmp, isIdentifying); } else if(p.isNumber()) { Number n = p.getAsNumber(); builder.addLong(key, tmp, isIdentifying); } else if(n instanceof Float || n instanceof Double) { Double tmp = n.doubleValue(); builder.addDouble(key, tmp, isIdentifying); } else { throw new RuntimeException("Should not happen");
@Override protected JobParameters getUniqueJobParameters() { JobParametersBuilder builder = new JobParametersBuilder(super.getUniqueJobParameters()); return builder.addString("input.file.path", "classpath:data/iosample/input/delimited*.csv").addString( "output.file.path", "file:build/test-outputs/multiResourceOutput.csv").toJobParameters(); }
/** * @return JobExecution */ protected JobExecution createJobExecution() throws JobInstanceAlreadyCompleteException, JobRestartException, JobExecutionAlreadyRunningException { return jobRepository.createJobExecution(job.getName(), new JobParametersBuilder().addLong("key1", 1L).toJobParameters()); }
public void testGetProperties() throws Exception { JobParameters parameters = new JobParametersBuilder().addDate("schedule.date", dateFormat.parse("01/23/2008")) .addString("job.key", "myKey").addString("vendor.id", "33243243").toJobParameters(); Properties props = factory.getProperties(parameters); assertNotNull(props); assertEquals("myKey", props.getProperty("job.key")); assertEquals("33243243", props.getProperty("vendor.id")); assertEquals("2008/01/23", props.getProperty("schedule.date")); }
@Test public void testValidateRequiredValues() throws Exception { validator.setRequiredKeys(new String[] { "name", "value" }); validator .validate(new JobParametersBuilder().addString("name", "foo").addLong("value", 111L).toJobParameters()); }
@Test public void testRestart() throws Exception { JobParametersBuilder paramBuilder = new JobParametersBuilder(); paramBuilder.addDate("value", new Date()); JobExecution jobExecution = jobRepository.createJobExecution(job.getName(), paramBuilder.toJobParameters()); job.execute(jobExecution); jobExecution = jobRepository.createJobExecution(job.getName(), paramBuilder.toJobParameters()); job.execute(jobExecution); int count = jobRepository.getStepExecutionCount(jobExecution.getJobInstance(), "simpleJob.step1"); assertEquals(2, count); } }
@Override protected void pointReaderToOutput(ItemReader<CustomerCredit> reader) { JobParameters jobParameters = new JobParametersBuilder(super.getUniqueJobParameters()).addDouble("credit", 0.) .toJobParameters(); StepExecution stepExecution = MetaDataInstanceFactory.createStepExecution(jobParameters); StepSynchronizationManager.close(); StepSynchronizationManager.register(stepExecution); }
JobParametersBuilder propertiesBuilder = new JobParametersBuilder(); propertiesBuilder.addDate(StringUtils.replace(key, DATE_TYPE, ""), date, identifying); + "], use a format with no decimal places"); propertiesBuilder.addLong(StringUtils.replace(key, LONG_TYPE, ""), result, identifying); propertiesBuilder.addDouble(StringUtils.replace(key, DOUBLE_TYPE, ""), result, identifying); propertiesBuilder.addString(StringUtils.replace(key, STRING_TYPE, ""), value, identifying); propertiesBuilder.addString(key, value, identifying); return propertiesBuilder.toJobParameters();
@Override protected JobParameters getUniqueJobParameters() { return new JobParametersBuilder(super.getUniqueJobParameters()).addString("inputFile", "data/iosample/input/delimited.csv").addString("outputFile", "file:./build/test-outputs/delimitedOutput.csv").toJobParameters(); }