lib/adiwg/mdtranslator/readers/mdJson/modules/module_maintenance.rb in adiwg-mdtranslator-2.13.0 vs lib/adiwg/mdtranslator/readers/mdJson/modules/module_maintenance.rb in adiwg-mdtranslator-2.13.1
- old
+ new
@@ -1,61 +1,63 @@
# unpack maintenance
# Reader - ADIwg JSON to internal data structure
# History:
-# Stan Smith 2018-02-19 refactored error and warning messaging
+# Stan Smith 2018-06-21 refactored error and warning messaging
# Stan Smith 2016-10-23 original script
-require_relative 'module_date'
require_relative 'module_responsibleParty'
require_relative 'module_scope'
module ADIWG
module Mdtranslator
module Readers
module MdJson
module Maintenance
- def self.unpack(hMaint, responseObj)
+ def self.unpack(hMaint, responseObj, inContext = nil)
+ @MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson
+
# return nil object if input is empty
if hMaint.empty?
- responseObj[:readerExecutionMessages] << 'WARNING: mdJson reader: resource maintenance object is empty'
+ @MessagePath.issueWarning(520, responseObj, inContext)
return nil
end
# instance classes needed in script
intMetadataClass = InternalMetadata.new
intMaint = intMetadataClass.newMaintenance
+ outContext = 'maintenance'
+ outContext = inContext + ' > ' + outContext unless inContext.nil?
+
# maintenance - frequency (required)
if hMaint.has_key?('frequency')
intMaint[:frequency] = hMaint['frequency']
end
if intMaint[:frequency].nil? || intMaint[:frequency] == ''
- responseObj[:readerExecutionMessages] << 'ERROR: mdJson reader: resource maintenance frequency is missing'
- responseObj[:readerExecutionPass] = false
- return nil
+ @MessagePath.issueError(521, responseObj, inContext)
end
# maintenance - date []
if hMaint.has_key?('date')
aItems = hMaint['date']
aItems.each do |item|
- hReturn = Date.unpack(item, responseObj)
+ hReturn = Date.unpack(item, responseObj, outContext)
unless hReturn.nil?
intMaint[:dates] << hReturn
end
end
end
# maintenance - scope []
if hMaint.has_key?('scope')
aItems = hMaint['scope']
aItems.each do |item|
- hReturn = Scope.unpack(item, responseObj)
+ hReturn = Scope.unpack(item, responseObj, outContext)
unless hReturn.nil?
intMaint[:scopes] << hReturn
end
end
end
@@ -71,10 +73,10 @@
# maintenance - contact []
if hMaint.has_key?('contact')
aItems = hMaint['contact']
aItems.each do |item|
- hReturn = ResponsibleParty.unpack(item, responseObj)
+ hReturn = ResponsibleParty.unpack(item, responseObj, outContext)
unless hReturn.nil?
intMaint[:contacts] << hReturn
end
end
end