/** * Convenience method that inserts an individual records into the * JobParameters table. * @param jobId Set the job id * @param type Set the parameter type * @param key Set the parameter name * @param value Set the parameter value */ private void insertParameter(final Long jobId, final ParameterType type, final String key, final Object value) { Object[] args = new Object[0]; int[] argTypes = new int[] {Types.BIGINT, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.TIMESTAMP, Types.BIGINT, Types.DOUBLE }; if (type == ParameterType.STRING) { args = new Object[] {jobId, key, type, value, new Timestamp(0L), 0L, 0D }; } else if (type == ParameterType.LONG) { args = new Object[] {jobId, key, type, "", new Timestamp(0L), value, new Double(0) }; } else if (type == ParameterType.DOUBLE) { args = new Object[] {jobId, key, type, "", new Timestamp(0L), 0L, value }; } else if (type == ParameterType.DATE) { args = new Object[] {jobId, key, type, "", value, 0L, 0D }; } getJdbcTemplate().update("INSERT into BATCH_JOB_PARAMS(JOB_INSTANCE_ID, KEY_NAME, TYPE_CD, " + "STRING_VAL, DATE_VAL, LONG_VAL, DOUBLE_VAL) values (?, ?, ?, ?, ?, ?, ?)", args, argTypes); }
@Override public JobParameters convert(final JsonNode root) { final JobParametersBuilder builder = new JobParametersBuilder(); final Iterator<String> it = root.fieldNames(); while (it.hasNext()) { final String paramName = it.next(); final JsonNode param = root.get(paramName); final ParameterType type = ParameterType.valueOf(param.get("type").textValue()); final JsonNode value = param.get("value"); final boolean identifying = param.get("identifying").booleanValue(); switch (type) { case STRING: builder.addString(paramName, value.textValue(), identifying); break; case DATE: builder.addDate(paramName, new Date(value.longValue()), identifying); break; case DOUBLE: builder.addDouble(paramName, value.doubleValue(), identifying); break; case LONG: builder.addLong(paramName, value.longValue(), identifying); break; default: throw new IllegalArgumentException("Unknown job parameter type: " + type); } } return builder.toJobParameters(); }
public DefaultJobParameterInfo(final String name, final String description, final ParameterType type, final boolean identifying, final Object defaultValue) { this.name = name; this.description = description; this.type = type; this.identifying = identifying; this.defaultValue = defaultValue; }
@Override public void registerJobParameterInfos(final JobParameterInfoRegistry registry) { final JobParametersInfo parametersInfo = new JobParametersInfoBuilder() // .add("run.id", ParameterType.LONG, true, null, null) // .build(); registry.addJobParametersInfo(TestJobConfig.JOB_NAME, parametersInfo); }
public JobParametersInfoBuilder add(final String name, final ParameterType type, final boolean identifiable, final Object defaultValue, final String description) { return add(new DefaultJobParameterInfo(name, description, type, identifiable, defaultValue)); }
@Override public ParameterType getType() { return type; }
ParameterType getType();