module ADIWG::Mdtranslator::Writers::Fgdc

Constants

VERSION

current version of fgdc writer

Public Class Methods

findMessage(messageId) click to toggle source
# File lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb, line 70
def self.findMessage(messageId)
   @aMessagesList.each do |hMessage|
      if hMessage['id'] == messageId
         return hMessage['message']
      end
   end
   return nil
end
find_responsibility(aResponsibility, roleName) click to toggle source
# File lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb, line 53
def self.find_responsibility(aResponsibility, roleName)
   aParties = []
   aResponsibility.each do |hRParty|
      if hRParty[:roleName] == roleName
         hRParty[:parties].each do |hParty|
            aParties << hParty[:contactId]
         end
      end
   end
   aParties = aParties.uniq
   return aParties
end
get_contact(contactId) click to toggle source

find contact and return the contact hash

# File lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb, line 44
def self.get_contact(contactId)
   @contacts.each do |contact|
      if contact[:contactId] == contactId
         return contact
      end
   end
   return {}
end
get_intObj() click to toggle source
# File lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb, line 66
def self.get_intObj
   return @intObj
end
issueError(messageId, context = nil) click to toggle source
# File lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb, line 79
def self.issueError(messageId, context = nil)
   message = findMessage(messageId)
   unless message.nil?
      message += ': CONTEXT is ' + context unless context.nil?
      @hResponseObj[:writerMessages] << 'ERROR: FGDC writer: ' + message
      @hResponseObj[:writerPass] = false
   end
end
issueNotice(messageId, context = nil) click to toggle source
# File lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb, line 105
def self.issueNotice(messageId, context = nil)
   message = findMessage(messageId)
   unless message.nil?
      message += ': CONTEXT is ' + context unless context.nil?
      @hResponseObj[:writerMessages] << 'NOTICE: FGDC writer: ' + message
   end
end
issueWarning(messageId, tag = nil, context = nil) click to toggle source
# File lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb, line 88
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, 'missing')
            @hResponseObj[:writerMessages] << 'WARNING: FGDC writer: ' + message
         end
      else
         @hResponseObj[:writerMessages] << 'WARNING: FGDC writer: ' + message
      end
   end
end
startWriter(intObj, responseObj, whichDict: 0) click to toggle source
# File lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb, line 16
def self.startWriter(intObj, responseObj, whichDict: 0)

   # make objects available to the instance
   @intObj = intObj
   @contacts = intObj[:contacts]
   @hResponseObj = responseObj

   # load error message array
   file = File.join(File.dirname(__FILE__), 'fgdc_writer_messages_eng') + '.yml'
   hMessageList = YAML.load_file(file)
   @aMessagesList = hMessageList['messageList']

   # set the format of the output file based on the writer
   responseObj[:writerOutputFormat] = 'xml'
   responseObj[:writerVersion] = ADIWG::Mdtranslator::Writers::Fgdc::VERSION

   # create new XML document
   @xml = Builder::XmlMarkup.new(indent: 3)

   # start writing the FGDC XML record
   metadataWriter = Fgdc.new(@xml, responseObj)
   metadata = metadataWriter.writeXML(intObj)

   return metadata

end