/** * @param Component $component * @param Mapper $mapper * @param $wrappedSubEntity * @param $identifier */ protected function loadSubEntity(Component $component, Mapper $mapper, $wrappedSubEntity, $identifier) { if (!$component instanceof Container) { return; } $container = NULL; if ($identifier && isset($component[$identifier]) && ($checkbox = $component[$identifier]) instanceof Checkbox) { $checkbox->setDefaultValue(TRUE); } elseif ($identifier) { $container = $component[$identifier]; } elseif (method_exists($component, 'createOne')) { $container = $component->createOne(); } if ($container instanceof Container) { $mapper->loadValues($container, $wrappedSubEntity->getEntity()); } }
public function load(WrappedEntity $wrappedEntity, Component $component, Mapper $mapper) { if (!$component instanceof Container && !$component instanceof BaseControl) { return FALSE; } if ($component instanceof MultiChoiceControl) { return FALSE; } $meta = $wrappedEntity->getMetadata(); if (!$this->getAssociationMetadata($meta, $component->name)) { return FALSE; } $subEntity = $wrappedEntity->getValue($component->name); if (!$subEntity) { } elseif ($component instanceof Container) { $mapper->loadValues($component, $subEntity); } elseif ($component instanceof BaseControl) { $wrappedSubEntity = $wrappedEntity->getEntityWrapper()->wrap($subEntity); $component->setDefaultValue($wrappedSubEntity->getSingleIdentifier()); } return TRUE; }