module ADIWG::Mdtranslator::Readers::MdJson::ProcessStep
Public Class Methods
unpack(hProcStep, responseObj, inContext = nil)
click to toggle source
# File lib/adiwg/mdtranslator/readers/mdJson/modules/module_processStep.rb, line 29 def self.unpack(hProcStep, responseObj, inContext = nil) @MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson # return nil object if input is empty if hProcStep.empty? @MessagePath.issueWarning(640, responseObj, inContext) return nil end # instance classes needed in script intMetadataClass = InternalMetadata.new intProcStep = intMetadataClass.newProcessStep outContext = 'process step' outContext = inContext + ' > ' + outContext unless inContext.nil? # process step - step ID if hProcStep.has_key?('stepId') unless hProcStep['stepId'] == '' intProcStep[:stepId] = hProcStep['stepId'] end end # process step - description - (required) if hProcStep.has_key?('description') unless hProcStep['description'] == '' intProcStep[:description] = hProcStep['description'] end end if intProcStep[:description].nil? @MessagePath.issueError(641, responseObj, inContext) end # process step - rationale if hProcStep.has_key?('rationale') unless hProcStep['rationale'] == '' intProcStep[:rationale] = hProcStep['rationale'] end end # process step - time period if hProcStep.has_key?('timePeriod') unless hProcStep['timePeriod'].empty? hReturn = TimePeriod.unpack(hProcStep['timePeriod'], responseObj, outContext) unless hReturn.nil? intProcStep[:timePeriod] = hReturn end end end # process step - step processors [] {responsibility} if hProcStep.has_key?('processor') aProc = hProcStep['processor'] aProc.each do |item| hParty = ResponsibleParty.unpack(item, responseObj, outContext) unless hParty.nil? intProcStep[:processors] << hParty end end end # process step - reference [] {citation} if hProcStep.has_key?('reference') aReference = hProcStep['reference'] aReference.each do |item| hReference = Citation.unpack(item, responseObj, outContext) unless hReference.nil? intProcStep[:references] << hReference end end end # process step - step sources [] {source} if hProcStep.has_key?('stepSource') aSources = hProcStep['stepSource'] aSources.each do |item| hSource = Source.unpack(item, responseObj, outContext) unless hSource.nil? intProcStep[:stepSources] << hSource end end end # process step LE 'output' - step products [] {source} if hProcStep.has_key?('stepProduct') aSources = hProcStep['stepProduct'] aSources.each do |item| hSource = Source.unpack(item, responseObj, outContext) unless hSource.nil? intProcStep[:stepProducts] << hSource end end end # process step - scope {scope} if hProcStep.has_key?('scope') hObject = hProcStep['scope'] unless hObject.empty? hReturn = Scope.unpack(hObject, responseObj, outContext) unless hReturn.nil? intProcStep[:scope] = hReturn end end end # process step LE - processing information {processing} if hProcStep.has_key?('processingInformation') unless hProcStep['processingInformation'].empty? hReturn = Processing.unpack(hProcStep['processingInformation'], responseObj, outContext) unless hReturn.nil? intProcStep[:processingInformation] = hReturn end end end # process step LE - report [] {processReport} if hProcStep.has_key?('report') aReports = hProcStep['report'] aReports.each do |item| hReport = ProcessStepReport.unpack(item, responseObj, outContext) unless hReport.nil? intProcStep[:reports] << hReport end end end return intProcStep end