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