module ADIWG::Mdtranslator::Readers::Fgdc::Security

Public Class Methods

unpack(xSecurity, hResponseObj) click to toggle source
# File lib/adiwg/mdtranslator/readers/fgdc/modules/module_security.rb, line 17
def self.unpack(xSecurity, hResponseObj)

   # instance classes needed in script
   intMetadataClass = InternalMetadata.new
   hConstraint = intMetadataClass.newConstraint
   hConstraint[:type] = 'security'
   hSecurity = intMetadataClass.newSecurityConstraint

   # series 1.12.1 (secsys) - security system name (required)
   system = xSecurity.xpath('./secsys').text
   hSecurity[:classSystem] = system unless system.empty?
   if system.empty?
      hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: security system name is missing'
   end

   # series 1.12.2 (secclass) - security classification (required)
   secClass = xSecurity.xpath('./secclass').text
   hSecurity[:classCode] = secClass unless secClass.empty?
   if secClass.empty?
      hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: security classification is missing'
   end

   # series 1.12.3 (sechandl) - security handling instructions (required)
   secHand = xSecurity.xpath('./sechandl').text
   hSecurity[:handling] = secHand unless secHand.empty?
   if secHand.empty?
      hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: security handling instructions are missing'
   end

   hConstraint[:securityConstraint] = hSecurity

   return hConstraint

end