errorModel.reportErrors(slot, visualItems);
// XXX update calling delegates
return;
}
VisualItemValueResolver resolver = slotMappingConfiguration
.getResolver(slot);
// check if target slots are configured & can resolve
for (Slot targetSlot : resolver.getTargetSlots()) {
if (!slotMappingConfiguration.isConfigured(targetSlot)) {
errorModel.reportErrors(slot, visualItems);
// XXX update calling delegates
return;
}
// XXX also need to check if delegate can resolve...
}
for (VisualItem visualItem : visualItems) {
if (!resolver.canResolve(visualItem, this)) {
/*
* TODO potential optimization: only change error model if state
* for view item has changed (delta update).
*/
errorModel.reportError(slot, visualItem);