protected function getPortableFactory() { return PortableModelRegistry::getRegistry(); }
public function __invoke($params) { PortableModelRegistry::getRegistry()->register(new PciModel()); return new \common_report_Report(\common_report_Report::TYPE_SUCCESS, 'Pci Model successfully registered.'); }
/** * Parse and build a info control * * @param DOMElement $data * @return InfoControl * @throws ParsingException */ private function buildInfoControl(DOMElement $data) { $infoControl = null; if ($this->isPicNode($data)) { // throws an exception if pic not present PortableModelRegistry::getRegistry()->getModel('PIC'); //use tao's implementation of portable custom interaction $infoControl = new PortableInfoControl($this->extractAttributes($data), $this->item); $infoControl->feed($this, $data); } else { $ciClass = ''; $classes = $data->getAttribute('class'); $classeNames = preg_split('/\\s+/', $classes); foreach ($classeNames as $classeName) { $ciClass = InfoControlRegistry::getInfoControlByName($classeName); if ($ciClass) { $infoControl = new $ciClass($this->extractAttributes($data), $this->item); $infoControl->feed($this, $data); break; } } if (!$ciClass) { throw new UnsupportedQtiElement($data); } } return $infoControl; }