diff --git a/lib/Alchemy/Phrasea/SearchEngine/Elastic/Indexer/Record/Hydrator/GpsPosition.php b/lib/Alchemy/Phrasea/SearchEngine/Elastic/Indexer/Record/Hydrator/GpsPosition.php index 9d4f1aabf7..62b64eccac 100644 --- a/lib/Alchemy/Phrasea/SearchEngine/Elastic/Indexer/Record/Hydrator/GpsPosition.php +++ b/lib/Alchemy/Phrasea/SearchEngine/Elastic/Indexer/Record/Hydrator/GpsPosition.php @@ -11,8 +11,6 @@ namespace Alchemy\Phrasea\SearchEngine\Elastic\Indexer\Record\Hydrator; -use Assert\Assertion; - class GpsPosition { const FULL_GEO_NOTATION = 'FullNotation'; @@ -44,35 +42,35 @@ class GpsPosition { switch ($tag_name) { case self::LONGITUDE_TAG_NAME: - Assertion::numeric($value); - $value = (float) $value; - if($value >= -180.0 && $value <= 180.0 ) { - $this->longitude = $value; + if(is_numeric($value)) { + $value = (float)$value; + if ($value >= -180.0 && $value <= 180.0) { + $this->longitude = $value; + } } break; case self::LATITUDE_TAG_NAME: - Assertion::numeric($value); - $value = (float) $value; - if($value >= -90.0 && $value <= 90.0 ) { - $this->latitude = $value; + if(is_numeric($value)) { + $value = (float)$value; + if ($value >= -90.0 && $value <= 90.0) { + $this->latitude = $value; + } } break; case self::LONGITUDE_REF_TAG_NAME: $normalized = strtoupper($value); - if ($normalized !== self::LONGITUDE_REF_EAST && $normalized !== self::LONGITUDE_REF_WEST) { - throw new \InvalidArgumentException(sprintf('Invalid longitude reference "%s" (expecting "%s" or "%s").', $value, self::LONGITUDE_REF_EAST, self::LONGITUDE_REF_WEST)); + if ($normalized === self::LONGITUDE_REF_EAST || $normalized === self::LONGITUDE_REF_WEST) { + $this->longitude_ref = $value; } - $this->longitude_ref = $value; break; case self::LATITUDE_REF_TAG_NAME: $normalized = strtoupper($value); - if ($normalized !== self::LATITUDE_REF_NORTH && $normalized !== self::LATITUDE_REF_SOUTH) { - throw new \InvalidArgumentException(sprintf('Invalid latitude reference "%s" (expecting "%s" or "%s").', $value, self::LATITUDE_REF_NORTH, self::LATITUDE_REF_SOUTH)); + if ($normalized === self::LATITUDE_REF_NORTH || $normalized === self::LATITUDE_REF_SOUTH) { + $this->latitude_ref = $normalized; } - $this->latitude_ref = $normalized; break; case self::FULL_GEO_NOTATION: @@ -111,8 +109,6 @@ class GpsPosition $lon = $v; } break; - default: - throw new \InvalidArgumentException(sprintf('Unsupported reference "%s", should be N|S|E|W.', $match[4])); } } if($lat !== null && $lon != null) {