module ADIWG::Mdtranslator::Readers::MdJson::ResourceUsage
Public Class Methods
unpack(hUsage, responseObj)
click to toggle source
# File lib/adiwg/mdtranslator/readers/mdJson/modules/module_resourceUsage.rb, line 26 def self.unpack(hUsage, responseObj) @MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson # return nil object if input is empty if hUsage.empty? @MessagePath.issueWarning(700, responseObj) return nil end # instance classes needed in script intMetadataClass = InternalMetadata.new intUsage = intMetadataClass.newResourceUsage # resource usage - specific usage (required) if hUsage.has_key?('specificUsage') intUsage[:specificUsage] = hUsage['specificUsage'] end if intUsage[:specificUsage].nil? || intUsage[:specificUsage] == '' @MessagePath.issueError(701, responseObj) end # resource usage - temporal extent [] if hUsage.has_key?('temporalExtent') aItems = hUsage['temporalExtent'] aItems.each do |hItem| hReturn = TemporalExtent.unpack(hItem, responseObj) unless hReturn.nil? intUsage[:temporalExtents] << hReturn end end end # resource usage - user determined limitations if hUsage.has_key?('userDeterminedLimitation') unless hUsage['userDeterminedLimitation'] == '' intUsage[:userLimitation] = hUsage['userDeterminedLimitation'] end end # resource usage - repository - limitation response [] if hUsage.has_key?('limitationResponse') hUsage['limitationResponse'].each do |item| unless item == '' intUsage[:limitationResponses] << item end end end # resource usage - repository - documented issue if hUsage.has_key?('documentedIssue') hCitation = hUsage['documentedIssue'] unless hCitation.empty? hReturn = Citation.unpack(hCitation, responseObj) unless hReturn.nil? intUsage[:identifiedIssue] = hReturn end end end # resource usage - repository - additional documentation [] if hUsage.has_key?('additionalDocumentation') aItems = hUsage['additionalDocumentation'] aItems.each do |hItem| hReturn = Citation.unpack(hItem, responseObj) unless hReturn.nil? intUsage[:additionalDocumentation] << hReturn end end end # resource usage - repository - responsible party [] if hUsage.has_key?('userContactInfo') aContacts = hUsage['userContactInfo'] aContacts.each do |item| hReturn = ResponsibleParty.unpack(item, responseObj) unless hReturn.nil? intUsage[:userContacts] << hReturn end end end return intUsage end