/** * Create instance of entity adapter and return it * * @throws Mage_Core_Exception * @return Mage_ImportExport_Model_Import_Entity_Abstract|Mage_ImportExport_Model_Import_EntityAbstract */ protected function _getEntityAdapter() { if (!$this->_entityAdapter) { $entityTypes = Mage_ImportExport_Model_Config::getModels(self::CONFIG_KEY_ENTITIES); if (isset($entityTypes[$this->getEntity()])) { try { $this->_entityAdapter = Mage::getModel($entityTypes[$this->getEntity()]['model']); } catch (Exception $e) { Mage::logException($e); Mage::throwException(Mage::helper('Mage_ImportExport_Helper_Data')->__('Invalid entity model')); } if (!$this->_entityAdapter instanceof Mage_ImportExport_Model_Import_Entity_Abstract && !$this->_entityAdapter instanceof Mage_ImportExport_Model_Import_EntityAbstract) { Mage::throwException(Mage::helper('Mage_ImportExport_Helper_Data')->__('Entity adapter object must be an instance of %s or %s', 'Mage_ImportExport_Model_Import_Entity_Abstract', 'Mage_ImportExport_Model_Import_EntityAbstract')); } // check for entity codes integrity if ($this->getEntity() != $this->_entityAdapter->getEntityTypeCode()) { Mage::throwException(Mage::helper('Mage_ImportExport_Helper_Data')->__('Input entity code is not equal to entity adapter code')); } } else { Mage::throwException(Mage::helper('Mage_ImportExport_Helper_Data')->__('Invalid entity')); } $this->_entityAdapter->setParameters($this->getData()); } return $this->_entityAdapter; }
/** * Set import parameters * * @param array $params * @return Mage_ImportExport_Model_Import_Entity_Product */ public function setParameters(array $params) { parent::setParameters($params); $this->getOptionEntity()->setParameters($params); return $this; }