class ADIWG::Mdtranslator::Writers::Iso19115_1::MD_Distributor

Public Class Methods

new(xml, hResponseObj) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_distributor.rb, line 19
def initialize(xml, hResponseObj)
   @xml = xml
   @hResponseObj = hResponseObj
   @NameSpace = ADIWG::Mdtranslator::Writers::Iso19115_1
end

Public Instance Methods

writeXML(hDistributor) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_distributor.rb, line 25
def writeXML(hDistributor)

   # classes used
   responsibilityClass = CI_Responsibility.new(@xml, @hResponseObj)
   orderClass = MD_StandardOrderProcess.new(@xml, @hResponseObj)
   transferClass = MD_DigitalTransferOptions.new(@xml, @hResponseObj)

   @xml.tag!('mrd:MD_Distributor') do

      # distributor - contact (required) {CI_Responsibility}
      hContact = hDistributor[:contact]
      unless hContact.empty?
         @xml.tag!('mrd:distributorContact') do
            responsibilityClass.writeXML(hContact, 'distributor')
         end
      end
      if hContact.empty?
         @NameSpace.issueWarning(90, 'mrd:distributorContact')
      end

      # distributor - order process [{MD_StandardOrderProcess}]
      aDistOrderProc = hDistributor[:orderProcess]
      aDistOrderProc.each do |hOrder|
         @xml.tag!('mrd:distributionOrderProcess') do
            orderClass.writeXML(hOrder)
         end
      end
      if aDistOrderProc.empty? && @hResponseObj[:writerShowTags]
         @xml.tag!('mrd:distributionOrderProcess')
      end

      # distributor - format [] {MD_Format}
      # supported under transfer options

      # distributor - transfer options [{MD_DigitalTransferOptions}]
      aOptions = hDistributor[:transferOptions]
      aOptions.each do |hOption|
         @xml.tag!('mrd:distributorTransferOptions') do
            transferClass.writeXML(hOption)
         end
      end
      if aOptions.empty? && @hResponseObj[:writerShowTags]
         @xml.tag!('mrd:distributorTransferOptions')
      end

   end # mrd:MD_Distributor tag
end