module ADIWG::Mdtranslator::Readers::MdJson::EntityForeignKey

Public Class Methods

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

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

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

   # instance classes needed in script
   intMetadataClass = InternalMetadata.new
   intFKey = intMetadataClass.newEntityForeignKey

   # entity foreign key - local attribute code name [] (required)
   # return nil if no local attribute is provided
   if hFKey.has_key?('localAttributeCodeName')
      intFKey[:fkLocalAttributes] = hFKey['localAttributeCodeName']
   end
   if intFKey[:fkLocalAttributes].empty?
      @MessagePath.issueError(251, responseObj, inContext)
   end

   # entity foreign key - referenced entity code name (required)
   # return nil if no referenced entity is provided
   if hFKey.has_key?('referencedEntityCodeName')
      intFKey[:fkReferencedEntity] = hFKey['referencedEntityCodeName']
   end
   if intFKey[:fkReferencedEntity].nil? || intFKey[:fkReferencedEntity] == ''
      @MessagePath.issueError(252, responseObj, inContext)
   end

   # entity foreign key - referenced attribute code name [] (required)
   # return nil if no referenced attribute is provided
   if hFKey.has_key?('referencedAttributeCodeName')
      intFKey[:fkReferencedAttributes] = hFKey['referencedAttributeCodeName']
   end
   if intFKey[:fkReferencedAttributes].empty?
      @MessagePath.issueError(253, responseObj, inContext)
   end

   return intFKey

end