lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryCollection.rb in adiwg-mdtranslator-2.13.0 vs lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryCollection.rb in adiwg-mdtranslator-2.13.1
- old
+ new
@@ -1,28 +1,30 @@
# unpack geometry collection
# Reader - ADIwg JSON to internal data structure
# History:
-# Stan Smith 2018-02-18 refactored error and warning messaging
+# Stan Smith 2018-06-20 refactored error and warning messaging
# Stan Smith 2016-11-11 added computedBbox computation
# Stan Smith 2016-10-25 original script
-require_relative 'module_geoJson'
require 'adiwg/mdtranslator/internal/module_coordinates'
+require_relative 'module_geoJson'
module ADIWG
module Mdtranslator
module Readers
module MdJson
module GeometryCollection
def self.unpack(hGeoCol, responseObj)
+ @MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson
+
# return nil object if input is empty
if hGeoCol.empty?
- responseObj[:readerExecutionMessages] << 'WARNING: mdJson reader: GeoJSON geometry collection object is empty'
+ @MessagePath.issueWarning(360, responseObj)
return nil
end
# instance classes needed in script
intMetadataClass = InternalMetadata.new
@@ -32,20 +34,16 @@
if hGeoCol.has_key?('type')
if hGeoCol['type'] != ''
if hGeoCol['type'] == 'GeometryCollection'
intGeoCol[:type] = hGeoCol['type']
else
- responseObj[:readerExecutionMessages] << 'ERROR: mdJson reader: GeoJSON geometry collection type must be GeometryCollection'
- responseObj[:readerExecutionPass] = false
- return nil
+ @MessagePath.issueError(361, responseObj)
end
end
end
if intGeoCol[:type].nil? || intGeoCol[:type] == ''
- responseObj[:readerExecutionMessages] << 'ERROR: mdJson reader: GeoJSON geometry collection type is missing'
- responseObj[:readerExecutionPass] = false
- return nil
+ @MessagePath.issueError(362, responseObj)
end
# geometry collection - bounding box
if hGeoCol.has_key?('bbox')
unless hGeoCol['bbox'].empty?
@@ -60,12 +58,10 @@
unless hReturn.nil?
intGeoCol[:geometryObjects] << hReturn
end
end
else
- responseObj[:readerExecutionMessages] << 'ERROR: mdJson reader: GeoJSON geometry collection geometries are missing'
- responseObj[:readerExecutionPass] = false
- return nil
+ @MessagePath.issueError(363, responseObj)
end
# geometry collection - compute bbox for geometry collection
unless intGeoCol[:geometryObjects].empty?
intGeoCol[:computedBbox] = AdiwgCoordinates.computeBbox(intGeoCol[:geometryObjects])