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(); }
propertiesBuilder.addDouble(StringUtils.replace(key, DOUBLE_TYPE, ""), result, identifying);
protected JobParameters getJobParameters(double amount) { return new JobParametersBuilder().addLong("timestamp", new Date().getTime()).addDouble("credit", amount) .toJobParameters(); } }
@Override protected JobParameters getUniqueJobParameters() { return new JobParametersBuilder(super.getUniqueJobParameters()).addDouble("credit", 10000.).toJobParameters(); }
@Test public void testGetProperties() throws Exception { JobParameters parameters = new JobParametersBuilder().addDate("schedule.date", dateFormat.parse("01/23/2008")) .addString("job.key", "myKey").addLong("vendor.id", new Long(33243243)).addDouble("double.key", 1.23) .toJobParameters(); Properties props = factory.getProperties(parameters); assertNotNull(props); assertEquals("myKey", props.getProperty("job.key")); assertEquals("33243243", props.getProperty("vendor.id(long)")); assertEquals("2008/01/23", props.getProperty("schedule.date(date)")); assertEquals("1.23", props.getProperty("double.key(double)")); }
@Test public void testToJobRuntimeParameters(){ this.parametersBuilder.addDate("SCHEDULE_DATE", date); this.parametersBuilder.addLong("LONG", new Long(1)); this.parametersBuilder.addString("STRING", "string value"); this.parametersBuilder.addDouble("DOUBLE", new Double(1)); JobParameters parameters = this.parametersBuilder.toJobParameters(); assertEquals(date, parameters.getDate("SCHEDULE_DATE")); assertEquals(1L, parameters.getLong("LONG").longValue()); assertEquals(1, parameters.getDouble("DOUBLE").doubleValue(), 1e-15); assertEquals("string value", parameters.getString("STRING")); }
@Test public void testGetPropertiesWithNullValues() throws Exception { JobParameters parameters = new JobParametersBuilder().addDate("schedule.date", null) .addString("job.key", null).addLong("vendor.id", null).addDouble("double.key", null) .toJobParameters(); Properties props = factory.getProperties(parameters); assertNotNull(props); final String NOT_FOUND = "NOT FOUND"; assertEquals(NOT_FOUND, props.getProperty("schedule.date", NOT_FOUND)); assertEquals(NOT_FOUND, props.getProperty("job.key", NOT_FOUND)); assertEquals(NOT_FOUND, props.getProperty("vendor.id", NOT_FOUND)); assertEquals(NOT_FOUND, props.getProperty("double.key", NOT_FOUND)); } }
@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); }
@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); }
@Test public void testNonIdentifyingParameters() { this.parametersBuilder.addDate("SCHEDULE_DATE", date, false); this.parametersBuilder.addLong("LONG", new Long(1), false); this.parametersBuilder.addString("STRING", "string value", false); this.parametersBuilder.addDouble("DOUBLE", new Double(1), false); JobParameters parameters = this.parametersBuilder.toJobParameters(); assertEquals(date, parameters.getDate("SCHEDULE_DATE")); assertEquals(1L, parameters.getLong("LONG").longValue()); assertEquals("string value", parameters.getString("STRING")); assertEquals(1, parameters.getDouble("DOUBLE").doubleValue(), 1e-15); assertFalse(parameters.getParameters().get("SCHEDULE_DATE").isIdentifying()); assertFalse(parameters.getParameters().get("LONG").isIdentifying()); assertFalse(parameters.getParameters().get("STRING").isIdentifying()); assertFalse(parameters.getParameters().get("DOUBLE").isIdentifying()); }
@Transactional @Test public void testCreateAndFind() throws Exception { job.setRestartable(true); JobParametersBuilder builder = new JobParametersBuilder(); builder.addString("stringKey", "stringValue").addLong("longKey", 1L).addDouble("doubleKey", 1.1).addDate( "dateKey", new Date(1L)); JobParameters jobParams = builder.toJobParameters(); JobExecution firstExecution = jobRepository.createJobExecution(job.getName(), jobParams); firstExecution.setStartTime(new Date()); assertNotNull(firstExecution.getLastUpdated()); assertEquals(job.getName(), firstExecution.getJobInstance().getJobName()); jobRepository.update(firstExecution); firstExecution.setEndTime(new Date()); jobRepository.update(firstExecution); JobExecution secondExecution = jobRepository.createJobExecution(job.getName(), jobParams); assertEquals(firstExecution.getJobInstance(), secondExecution.getJobInstance()); assertEquals(job.getName(), secondExecution.getJobInstance().getJobName()); }
@Test public void testNullRuntimeParameters(){ this.parametersBuilder.addDate("SCHEDULE_DATE", null); this.parametersBuilder.addLong("LONG", null); this.parametersBuilder.addString("STRING", null); this.parametersBuilder.addDouble("DOUBLE", null); JobParameters parameters = this.parametersBuilder.toJobParameters(); assertNull(parameters.getDate("SCHEDULE_DATE")); assertNull(parameters.getLong("LONG")); assertNull(parameters.getString("STRING")); assertNull(parameters.getLong("DOUBLE")); }
private static void attachJobParameter(final JobParametersBuilder jobParametersBuilder, final String parameterName, final Object parameterValue) { if (parameterValue instanceof Long) { jobParametersBuilder.addLong(parameterName, (Long) parameterValue); } else if (parameterValue instanceof Integer) { jobParametersBuilder.addLong(parameterName, Long.valueOf((Integer) parameterValue)); } else if (parameterValue instanceof Date) { jobParametersBuilder.addDate(parameterName, (Date) parameterValue); } else if (parameterValue instanceof String) { jobParametersBuilder.addString(parameterName, (String) parameterValue); } else if (parameterValue instanceof Double) { jobParametersBuilder.addDouble(parameterName, (Double) parameterValue); } else { log.error("Could not add Parameter. Cause: Unsupported Parameter Type:" + parameterValue.getClass() + " !"); } }
private static void attachJobParameter(final JobParametersBuilder jobParametersBuilder, final String parameterName, final Object parameterValue) { if (parameterValue instanceof Long) { jobParametersBuilder.addLong(parameterName, (Long) parameterValue); } else if (parameterValue instanceof Integer) { jobParametersBuilder.addLong(parameterName, Long.valueOf((Integer) parameterValue)); } else if (parameterValue instanceof Date) { jobParametersBuilder.addDate(parameterName, (Date) parameterValue); } else if (parameterValue instanceof String) { jobParametersBuilder.addString(parameterName, (String) parameterValue); } else if (parameterValue instanceof Double) { jobParametersBuilder.addDouble(parameterName, (Double) parameterValue); } else { log.error("Could not add Parameter. Cause: Unsupported Parameter Type:" + parameterValue.getClass() + " !"); } }
private static JobParameters addJobParametersFromContext(JobParameters jobParameters, ExecutionContext context) { JobParametersBuilder builder = new JobParametersBuilder(jobParameters); for (Map.Entry<String, Object> entry : context.entrySet()) { Object value = entry.getValue(); if (value instanceof Date) { builder.addDate(entry.getKey(), (Date) value); } else if (value instanceof Long) { builder.addLong(entry.getKey(), (Long) value); } else if (value instanceof Double) { builder.addDouble(entry.getKey(), (Double) value); } else if (value instanceof String) { builder.addString(entry.getKey(), (String) value); } else if (value instanceof Integer) { builder.addLong(entry.getKey(), ((Integer) value).longValue()); } } return builder.toJobParameters(); } }
@Override public JobParameters unmarshal(AdaptedJobParameters params) throws Exception { JobParametersBuilder jobParametersBuilder = new JobParametersBuilder(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX"); for (AdaptedJobParameters.AdaptedJobParameter param : params.getParameters()) { switch (param.type) { case "STRING": jobParametersBuilder.addString(param.key, param.value, param.identifier); break; case "DATE": jobParametersBuilder.addDate(param.key, df.parse(param.value), param.identifier); break; case "DOUBLE": jobParametersBuilder.addDouble(param.key, Double.valueOf(param.value), param.identifier); break; case "LONG": jobParametersBuilder.addLong(param.key, Long.valueOf(param.value), param.identifier); break; } } return jobParametersBuilder.toJobParameters(); }
} else if(n instanceof Float || n instanceof Double) { Double tmp = n.doubleValue(); builder.addDouble(key, tmp, isIdentifying); } else { throw new RuntimeException("Should not happen");
jobParametersBuilder.addDate(entry.getKey(), (Date) value); } else if (value instanceof Double) { jobParametersBuilder.addDouble(entry.getKey(), (Double) value); } else { throw new SpringBatchLightminApplicationException("Unknown Parameter type:"
builder.addLong(key, (Long) value, identifying); } else if (value instanceof Double) { builder.addDouble(key, (Double) value, identifying); } else if (value instanceof Date) { builder.addDate(key, (Date) value, identifying);