public void addJob()

in transform/src/patch/java/org/quartz/core/QuartzSchedulerMBeanImpl.java [300:329]


    public void addJob(Map<String, Object> abstractJobInfo,    boolean replace) throws Exception {
        try {
            String jobDetailClassName = (String) abstractJobInfo.remove("jobDetailClass");
            if(jobDetailClassName == null) {
                throw new IllegalArgumentException("No jobDetailClass specified");
            }
            Class<?> jobDetailClass = Class.forName(jobDetailClassName);
            JobDetail jobDetail = (JobDetail) jobDetailClass.newInstance();

            String jobClassName = (String) abstractJobInfo.remove("jobClass");
            if(jobClassName == null) {
                throw new IllegalArgumentException("No jobClass specified");
            }
            Class<?> jobClass = Class.forName(jobClassName);
            abstractJobInfo.put("jobClass", jobClass);

            for(Map.Entry<String, Object> entry : abstractJobInfo.entrySet()) {
                String key = entry.getKey();
                Object value = entry.getValue();
                if("jobDataMap".equals(key)) {
                    value = new JobDataMap((Map<?, ?>)value);
                }
                invokeSetter(jobDetail, key, value);
            }

            scheduler.addJob(jobDetail, replace);
        } catch (Exception e) {
            throw newPlainException(e);
        }
    }