/** * doLoad * * @param integer $id * @param StdClass $rs * @param KVDdo_AdrHuisnummer $huisnummer * @return KVDdo_AdrTerreinobject */ public function doLoad($id, $rs, $huisnummer = null) { $domainObject = $this->_sessie->getIdentityMap()->getDomainObject(self::RETURNTYPE, $id); if ($domainObject !== null) { return $domainObject; } if (is_null($huisnummer)) { try { $huisnummer = $this->_sessie->getMapper("KVDdo_AdrHuisnummer")->findById($rs->huisnummer_id); } catch (KVDdom_DomainObjectNotFoundException $e) { $huisnummer = KVDdo_AdrHuisnummer::newNull(); } } try { $center = new KVDgis_GeomPoint(self::EPSG_CODE, $rs->center_x, $rs->center_y); } catch (InvalidArgumentException $e) { $center = new KVDgis_GeomPoint(); } return new KVDdo_AdrTerreinobject($id, $this->_sessie, $rs->aard, $huisnummer, $center); }
/** * Zoek een terreinobject op basis van zijn id ( identificatorTerreinobject in Crab ). * @param string $id IdentificatorTerreinobject uit Crab. * @return KVDdo_AdrTerreinobjet * @todo herbekijken hoe het zit met het huisnummer * @throws <b>KVDdom_DomainObjectNotFoundException</b> Indien het object niet geladen kon worden. */ public function findById($id) { $domainObject = $this->_sessie->getIdentityMap()->getDomainObject(self::RETURNTYPE, $id); if ($domainObject !== null) { return $domainObject; } try { $terreinArray = $this->_gateway->getTerreinobjectByIdentificatorTerreinobject($id); } catch (RuntimeException $e) { $message = "Kon het terreinobject niet laden omdat de crab service een fout gaf:\n " . $e->getMessage(); throw new KVDdom_DomainObjectNotFoundException($message, 'KVDdo_AdrTerreinobject', $id); } $huisnummer = KVDdo_AdrHuisnummer::newNull(); return $this->doLoad($id, $terreinArray, $huisnummer); }