module ADIWG::Mdtranslator::Writers::Iso19115_2
Constants
- VERSION
current version of ISO 19115-2 writer
Public Class Methods
findMessage(messageId)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/iso19115_2_writer.rb, line 63 def self.findMessage(messageId) @aMessagesList.each do |hMessage| if hMessage['id'] == messageId return hMessage['message'] end end return nil end
getContact(contactId)
click to toggle source
find contact in contact array and return the contact hash
# File lib/adiwg/mdtranslator/writers/iso19115_2/iso19115_2_writer.rb, line 52 def self.getContact(contactId) @contacts.each do |contact| if contact[:contactId] == contactId return contact end end return {} end
issueError(messageId, context = nil)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/iso19115_2_writer.rb, line 72 def self.issueError(messageId, context = nil) message = findMessage(messageId) unless message.nil? message += ': CONTEXT is ' + context unless context.nil? @hResponseObj[:writerMessages] << 'ERROR: ISO-19115-2 writer: ' + message @hResponseObj[:writerPass] = false end end
issueNotice(messageId, context = nil)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/iso19115_2_writer.rb, line 98 def self.issueNotice(messageId, context = nil) message = findMessage(messageId) unless message.nil? message += ': CONTEXT is ' + context unless context.nil? @hResponseObj[:writerMessages] << 'NOTICE: ISO-19115-2 writer: ' + message end end
issueWarning(messageId, tag = nil, context = nil)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/iso19115_2_writer.rb, line 81 def self.issueWarning(messageId, tag = nil, context = nil) message = findMessage(messageId) unless message.nil? message += ': CONTEXT is ' + context unless context.nil? if @hResponseObj[:writerForceValid] if tag.nil? issueError(messageId, context) else @xml.tag!(tag, {'gco:nilReason' => 'missing'}) @hResponseObj[:writerMessages] << 'WARNING: ISO-19115-2 writer: ' + message end else @hResponseObj[:writerMessages] << 'WARNING: ISO-19115-2 writer: ' + message end end end
startWriter(intObj, hResponseObj)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/iso19115_2_writer.rb, line 25 def self.startWriter(intObj, hResponseObj) # make contact available to the instance @contacts = intObj[:contacts] @hResponseObj = hResponseObj # load error message array file = File.join(File.dirname(__FILE__), 'iso19115_2_writer_messages_eng') + '.yml' hMessageList = YAML.load_file(file) @aMessagesList = hMessageList['messageList'] # set the format of the output file based on the writer specified hResponseObj[:writerOutputFormat] = 'xml' hResponseObj[:writerVersion] = ADIWG::Mdtranslator::Writers::Iso19115_2::VERSION # create new XML document @xml = Builder::XmlMarkup.new(indent: 3) # start writing the ISO 19115-2 XML record metadataWriter = MI_Metadata.new(@xml, hResponseObj) metadata = metadataWriter.writeXML(intObj) return metadata end