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])