jobInstanceLoader.registerJob(report);
}
}
final Object job = ctx.getBean(bundle.getJobDetail().getKey().getName());
final BeanWrapper wrapper = PropertyAccessorFactory.forBeanPropertyAccess(job);
if (isEligibleForPropertyPopulation(wrapper.getWrappedInstance())) {
final MutablePropertyValues pvs = new MutablePropertyValues();
if (this.schedulerContext != null) {
pvs.addPropertyValues(this.schedulerContext);
}
pvs.addPropertyValues(bundle.getJobDetail().getJobDataMap());
pvs.addPropertyValues(bundle.getTrigger().getJobDataMap());
if (this.ignoredUnknownProperties == null) {
wrapper.setPropertyValues(pvs, true);
} else {
for (String propName : this.ignoredUnknownProperties) {
if (pvs.contains(propName) && !wrapper.isWritableProperty(propName)) {
pvs.removePropertyValue(propName);
}
}
wrapper.setPropertyValues(pvs);
}
}
return job;
}