module ADIWG::Mdtranslator::Writers::Iso19115_1
Constants
- VERSION
current version of ISO 19115-1 writer
Public Class Methods
findMessage(messageId)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/iso19115_1_writer.rb, line 59 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_1/iso19115_1_writer.rb, line 48 def self.getContact(contactId) @contacts.each do |hContact| if hContact[:contactId] == contactId return hContact end end return {} end
issueError(messageId, context = nil)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/iso19115_1_writer.rb, line 68 def self.issueError(messageId, context = nil) message = findMessage(messageId) unless message.nil? message += ': CONTEXT is ' + context unless context.nil? @hResponseObj[:writerMessages] << 'ERROR: ISO-19115-1 writer: ' + message @hResponseObj[:writerPass] = false end end
issueNotice(messageId, context = nil)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/iso19115_1_writer.rb, line 94 def self.issueNotice(messageId, context = nil) message = findMessage(messageId) unless message.nil? message += ': CONTEXT is ' + context unless context.nil? @hResponseObj[:writerMessages] << 'NOTICE: ISO-19115-1 writer: ' + message end end
issueWarning(messageId, tag = nil, context = nil)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/iso19115_1_writer.rb, line 77 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-1 writer: ' + message end else @hResponseObj[:writerMessages] << 'WARNING: ISO-19115-1 writer: ' + message end end end
startWriter(intObj, hResponseObj)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/iso19115_1_writer.rb, line 21 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_1_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_1::VERSION # create new XML document @xml = Builder::XmlMarkup.new(indent: 3) # start writing the ISO 19115-1 XML record metadataWriter = MD_Metadata.new(@xml, hResponseObj) metadata = metadataWriter.writeXML(intObj) return metadata end