lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialReference.rb in adiwg-mdtranslator-2.13.0 vs lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialReference.rb in adiwg-mdtranslator-2.13.1
- old
+ new
@@ -1,10 +1,10 @@
# unpack spatial reference system
# Reader - ADIwg JSON to internal data structure
# History:
-# Stan Smith 2018-02-19 refactored error and warning messaging
+# Stan Smith 2018-06-25 refactored error and warning messaging
# Stan Smith 2018-01-10 added reference system WKT
# Stan Smith 2017-10-23 added reference system parameter set
# Stan Smith 2016-10-16 refactored for mdJson 2.0
# Stan Smith 2015-07-14 refactored to remove global namespace constants
# Stan Smith 2015-06-22 replace global ($response) with passed in object (responseObj)
@@ -19,22 +19,26 @@
module Readers
module MdJson
module SpatialReferenceSystem
- def self.unpack(hSpatialRef, responseObj)
+ def self.unpack(hSpatialRef, responseObj, inContext = nil)
+ @MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson
+
# return nil object if input is empty
if hSpatialRef.empty?
- responseObj[:readerExecutionMessages] << 'WARNING: mdJson reader: spatial reference system object is empty'
+ @MessagePath.issueWarning(780, responseObj, inContext)
return nil
end
# instance classes needed in script
intMetadataClass = InternalMetadata.new
intSpatialRef = intMetadataClass.newSpatialReferenceSystem
+ outContext = 'spatial reference system'
+
haveSystem = false
# spatial reference system - type
if hSpatialRef.has_key?('referenceSystemType')
unless hSpatialRef['referenceSystemType'] == ''
@@ -45,11 +49,11 @@
# spatial reference system - reference system {identifier}
if hSpatialRef.has_key?('referenceSystemIdentifier')
hObject = hSpatialRef['referenceSystemIdentifier']
unless hObject.empty?
- hReturn = Identifier.unpack(hObject, responseObj)
+ hReturn = Identifier.unpack(hObject, responseObj, outContext)
unless hReturn.nil?
intSpatialRef[:systemIdentifier] = hReturn
haveSystem = true
end
end
@@ -65,22 +69,19 @@
# spatial reference system - reference system parameters {referenceSystemParameterSet}
if hSpatialRef.has_key?('referenceSystemParameterSet')
hObject = hSpatialRef['referenceSystemParameterSet']
unless hObject.empty?
- hReturn = ReferenceSystemParameters.unpack(hObject, responseObj)
+ hReturn = ReferenceSystemParameters.unpack(hObject, responseObj, outContext)
unless hReturn.nil?
intSpatialRef[:systemParameterSet] = hReturn
haveSystem = true
end
end
end
unless haveSystem
- responseObj[:readerExecutionMessages] <<
- 'ERROR: mdJson reader: spatial reference system must declare reference system type, identifier, WKT, or parameter set'
- responseObj[:readerExecutionPass] = false
- return nil
+ @MessagePath.issueError(781, responseObj, inContext)
end
return intSpatialRef
end