module ADIWG::Mdtranslator::Readers::MdJson::SecurityConstraint

Public Class Methods

unpack(hSecurityCon, responseObj, inContext = nil) click to toggle source
# File lib/adiwg/mdtranslator/readers/mdJson/modules/module_securityConstraint.rb, line 20
def self.unpack(hSecurityCon, responseObj, inContext = nil)

   @MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson

   # return nil object if input is empty
   if hSecurityCon.empty?
      @MessagePath.issueWarning(750, responseObj, inContext)
      return nil
   end

   # instance classes needed in script
   intMetadataClass = InternalMetadata.new
   intSecCon = intMetadataClass.newSecurityConstraint

   # security constraint - classification (required)
   if hSecurityCon.has_key?('classification')
      intSecCon[:classCode] = hSecurityCon['classification']
   end
   if intSecCon[:classCode].nil? || intSecCon[:classCode] == ''
      @MessagePath.issueError(751, responseObj, inContext)
   end

   # security constraint - user note
   if hSecurityCon.has_key?('userNote')
      unless hSecurityCon['userNote'] == ''
         intSecCon[:userNote] = hSecurityCon['userNote']
      end
   end

   # security constraint - classification system
   if hSecurityCon.has_key?('classificationSystem')
      unless hSecurityCon['classificationSystem'] == ''
         intSecCon[:classSystem] = hSecurityCon['classificationSystem']
      end
   end

   # security constraint - handling description
   if hSecurityCon.has_key?('handlingDescription')
      unless hSecurityCon['handlingDescription'] == ''
         intSecCon[:handling] = hSecurityCon['handlingDescription']
      end
   end

   return intSecCon

end