protected function loadParameterMap($node)
{
$parameterMap = $this->createParameterMap($node);
if (strlen($extendMap = $parameterMap->getExtends()) > 0) {
if (!$this->_manager->getParameterMaps()->contains($extendMap)) {
$extendNode = $this->getElementByIdValue($this->_document, 'parameterMap', $extendMap);
if ($extendNode !== null) {
$this->loadParameterMap($extendNode);
}
}
if (!$this->_manager->getParameterMaps()->contains($extendMap)) {
throw new TSqlMapConfigurationException('sqlmap_unable_to_find_parent_parameter_map', $node, $this->_configFile, $extendMap);
}
$superMap = $this->_manager->getParameterMap($extendMap);
$index = 0;
foreach ($superMap->getPropertyNames() as $propertyName) {
$parameterMap->insertProperty($index++, $superMap->getProperty($propertyName));
}
}
$this->_manager->addParameterMap($parameterMap);
}