module ADIWG::Mdtranslator::Readers::MdJson::Dimension

Public Class Methods

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

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

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

   # instance classes needed in script
   intMetadataClass = InternalMetadata.new
   intDimension = intMetadataClass.newDimension

   # dimension - dimension type (required)
   if hDimension.has_key?('dimensionType')
      unless hDimension['dimensionType'] == ''
         intDimension[:dimensionType] = hDimension['dimensionType']
      end
   end
   if intDimension[:dimensionType].nil?
      @MessagePath.issueError(171, responseObj, inContext)
   end

   # dimension - dimension size (required)
   if hDimension.has_key?('dimensionSize')
      unless hDimension['dimensionSize'] == ''
         intDimension[:dimensionSize] = hDimension['dimensionSize']
      end
   end
   if intDimension[:dimensionSize].nil?
      @MessagePath.issueError(172, responseObj, inContext)
   end

   # dimension - resolution {measure}
   if hDimension.has_key?('resolution')
      hObject = hDimension['resolution']
      unless hObject.empty?
         hReturn = Measure.unpack(hObject, responseObj)
         unless hReturn.nil?
            intDimension[:resolution] = hReturn
         end
      end
   end

   # dimension - dimension title
   if hDimension.has_key?('dimensionTitle')
      unless hDimension['dimensionTitle'] == ''
         intDimension[:dimensionTitle] = hDimension['dimensionTitle']
      end
   end

   # dimension - dimension description
   if hDimension.has_key?('dimensionDescription')
      unless hDimension['dimensionDescription'] == ''
         intDimension[:dimensionDescription] = hDimension['dimensionDescription']
      end
   end

   return intDimension

end