module ADIWG::Mdtranslator::Readers::MdJson::LegalConstraint

Public Class Methods

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

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

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

   # instance classes needed in script
   intMetadataClass = InternalMetadata.new
   intLegalCon = intMetadataClass.newLegalConstraint

   haveLegal = false

   # legal constraint - use constraint []
   if hLegalCon.has_key?('useConstraint')
      hLegalCon['useConstraint'].each do |item|
         unless item == ''
            intLegalCon[:useCodes] << item
            haveLegal = true
         end
      end
   end

   # legal constraint - access constraint []
   if hLegalCon.has_key?('accessConstraint')
      hLegalCon['accessConstraint'].each do |item|
         unless item == ''
            intLegalCon[:accessCodes] << item
            haveLegal = true
         end
      end
   end

   # legal constraint - other constraint []
   if hLegalCon.has_key?('otherConstraint')
      hLegalCon['otherConstraint'].each do |item|
         unless item == ''
            intLegalCon[:otherCons] << item
            haveLegal = true
         end
      end
   end

   # error messages
   unless haveLegal
      @MessagePath.issueError(491, responseObj, inContext)
   end

   return intLegalCon

end