Pyun's

public static JobParameters getJobParameters(Map<String, Object> jobDataMap) {
        String key;
        Object value;
        JobParametersBuilder builder = new JobParametersBuilder();

        if (jobDataMap != null) {

            for (Entry<String, Object> entry : jobDataMap.entrySet()) {
                key = entry.getKey();
                value = entry.getValue();

                if (value instanceof String) {
                    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 {

                    if (LOG.isDebugEnabled()) {
                        LOG.debug("JobDataMap contains values which are not job parameters (ignoring).");
                    }
                }
            }
        }

        return builder.toJobParameters();
    }