lib/adiwg/mdtranslator/readers/mdJson/modules/module_temporalExtent.rb in adiwg-mdtranslator-2.9.2 vs lib/adiwg/mdtranslator/readers/mdJson/modules/module_temporalExtent.rb in adiwg-mdtranslator-2.10.0

- old
+ new

@@ -1,70 +1,72 @@ # unpack temporal extent # Reader - ADIwg JSON to internal data structure # History: +# Stan Smith 2018-02-19 refactored error and warning messaging # Stan Smith 2016-10-24 original script require_relative 'module_timeInstant' require_relative 'module_timePeriod' module ADIWG - module Mdtranslator - module Readers - module MdJson + module Mdtranslator + module Readers + module MdJson - module TemporalExtent + module TemporalExtent - def self.unpack(hTemporal, responseObj) + def self.unpack(hTemporal, responseObj) - # return nil object if input is empty - if hTemporal.empty? - responseObj[:readerExecutionMessages] << 'Temporal Extent object is empty' - responseObj[:readerExecutionPass] = false - return nil - end + # return nil object if input is empty + if hTemporal.empty? + responseObj[:readerExecutionMessages] << 'WARNING: mdJson reader: temporal extent object is empty' + return nil + end - # instance classes needed in script - intMetadataClass = InternalMetadata.new - intTemporal = intMetadataClass.newTemporalExtent - haveOne = false + # instance classes needed in script + intMetadataClass = InternalMetadata.new + intTemporal = intMetadataClass.newTemporalExtent + haveOne = false - # temporal extent - time instant (required if not others) - if hTemporal.has_key?('timeInstant') - hTime = hTemporal['timeInstant'] - unless hTime.empty? - hObject = TimeInstant.unpack(hTime, responseObj) - unless hObject.nil? - intTemporal[:timeInstant] = hObject - haveOne = true - end - end + # temporal extent - time instant (required if not others) + if hTemporal.has_key?('timeInstant') + hTime = hTemporal['timeInstant'] + unless hTime.empty? + hObject = TimeInstant.unpack(hTime, responseObj) + unless hObject.nil? + intTemporal[:timeInstant] = hObject + haveOne = true end + end + end - # temporal extent - time period (required if not others) - if hTemporal.has_key?('timePeriod') - hTime = hTemporal['timePeriod'] - unless hTime.empty? - hObject = TimePeriod.unpack(hTime, responseObj) - unless hObject.nil? - intTemporal[:timePeriod] = hObject - haveOne = true - end - end + # temporal extent - time period (required if not others) + if hTemporal.has_key?('timePeriod') + hTime = hTemporal['timePeriod'] + unless hTime.empty? + hObject = TimePeriod.unpack(hTime, responseObj) + unless hObject.nil? + intTemporal[:timePeriod] = hObject + haveOne = true end + end + end - unless haveOne - responseObj[:readerExecutionMessages] << 'Temporal Extent did not have an object of supported type' - responseObj[:readerExecutionPass] = false - return nil - end + # error messages + unless haveOne + responseObj[:readerExecutionMessages] << + 'ERROR: mdJson reader: temporal extent must have a time period or time instant' + responseObj[:readerExecutionPass] = false + return nil + end - return intTemporal + return intTemporal - end + end - end - end - end - end + + end + end + end end