class ADIWG::Mdtranslator::Writers::Iso19115_2::MD_Usage
Public Class Methods
new(xml, hResponseObj)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_usage.rb, line 24 def initialize(xml, hResponseObj) @xml = xml @hResponseObj = hResponseObj @NameSpace = ADIWG::Mdtranslator::Writers::Iso19115_2 end
Public Instance Methods
writeXML(hUsage)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_usage.rb, line 30 def writeXML(hUsage) # classes used in MD_Usage partyClass = CI_ResponsibleParty.new(@xml, @hResponseObj) @xml.tag!('gmd:MD_Usage') do # usage - specific usage (required) s = hUsage[:specificUsage] unless s.nil? @xml.tag!('gmd:specificUsage') do @xml.tag!('gco:CharacterString', s) end end if s.nil? @NameSpace.issueWarning(320, 'gmd:specificUsage') end # usage - dateTime [0] aTimes = hUsage[:temporalExtents] dateStr = nil unless aTimes.empty? hTime = aTimes[0] unless hTime.empty? hInstant = hTime[:timeInstant] hPeriod = hTime[:timePeriod] unless hInstant.empty? hDateTime = hInstant[:timeInstant] timeInstant = hDateTime[:dateTime] timeResolution = hDateTime[:dateResolution] dateStr = AdiwgDateTimeFun.stringDateTimeFromDateTime(timeInstant, timeResolution) hPeriod = {} end unless hPeriod.empty? hStart = hPeriod[:startDateTime] hEnd = hPeriod[:endDateTime] if !hStart.empty? dateTime = hStart[:dateTime] timeResolution = hStart[:dateResolution] else dateTime = hEnd[:dateTime] timeResolution = hEnd[:dateResolution] end dateStr = AdiwgDateTimeFun.stringDateTimeFromDateTime(dateTime, timeResolution) end end end unless dateStr.nil? @xml.tag!('gmd:usageDateTime') do @xml.tag!('gco:DateTime', dateStr) end end if dateStr.nil? && @hResponseObj[:writerShowTags] @xml.tag!('gmd:usageDateTime') end # usage - user determined limitations s = hUsage[:userLimitation] unless s.nil? @xml.tag!('gmd:userDeterminedLimitations') do @xml.tag!('gco:CharacterString', s) end end if s.nil? && @hResponseObj[:writerShowTags] @xml.tag!('gmd:userDeterminedLimitations') end # usage - user contact info (required (optional -1)) [{CI_ResponsibleParty}] aParties = hUsage[:userContacts] aParties.each do |hRParty| role = hRParty[:roleName] aParties = hRParty[:parties] aParties.each do |hParty| @xml.tag!('gmd:userContactInfo') do partyClass.writeXML(role, hParty, 'resource specific usage') end end end if aParties.empty? @NameSpace.issueWarning(321, 'gmd:userContactInfo') end end # gmd:MD_Usage tag end