module ADIWG::Mdtranslator::Readers::MdJson::ResponsibleParty
Public Class Methods
unpack(hRParty, responseObj, inContext = nil)
click to toggle source
# File lib/adiwg/mdtranslator/readers/mdJson/modules/module_responsibleParty.rb, line 28 def self.unpack(hRParty, responseObj, inContext = nil) @MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson # return nil object if input is empty if hRParty.empty? @MessagePath.issueWarning(710, responseObj, inContext) return nil end # instance classes needed in script # CI_Responsibility replaces CI_ResponsibleParty in 19115-1 # Responsibility object is translated to ResponsibleParty by 19115-2 writer intMetadataClass = InternalMetadata.new intResParty = intMetadataClass.newResponsibility outContext = 'responsible party' outContext = inContext + ' > ' + outContext unless inContext.nil? # responsible party - role - (required) if hRParty.has_key?('role') intResParty[:roleName] = hRParty['role'] end if intResParty[:roleName].nil? || intResParty[:roleName] == '' @MessagePath.issueError(711, responseObj, inContext) end # responsible party - role extent if hRParty.has_key?('roleExtent') aExtent = hRParty['roleExtent'] aExtent.each do |hItem| unless hItem.empty? hTimeExtent = Extent.unpack(hItem, responseObj, outContext) unless hTimeExtent.nil? intResParty[:roleExtents] << hTimeExtent end end end end # responsible party - party [] (minimum 1) if hRParty.has_key?('party') hRParty['party'].each do |hParty| unless hParty.empty? party = Party.unpack(hParty, responseObj, outContext) unless party.nil? intResParty[:parties] << party end end end end if intResParty[:parties].empty? @MessagePath.issueError(712, responseObj, inContext) end return intResParty end