20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/adiwg/mdtranslator/readers/mdJson/modules/module_transferOption.rb', line 20
def self.unpack(hTransOp, responseObj, inContext = nil)
@MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson
if hTransOp.empty?
@MessagePath.issueWarning(880, responseObj, inContext)
return nil
end
intMetadataClass = InternalMetadata.new
intTransOpt = intMetadataClass.newTransferOption
outContext = 'transfer option'
outContext = inContext + ' > ' + outContext unless inContext.nil?
if hTransOp.has_key?('unitsOfDistribution')
unless hTransOp['unitsOfDistribution'] == ''
intTransOpt[:unitsOfDistribution] = hTransOp['unitsOfDistribution']
end
end
if hTransOp.has_key?('transferSize')
unless hTransOp['transferSize'] == ''
intTransOpt[:transferSize] = hTransOp['transferSize']
end
end
haveOption = false
if hTransOp.has_key?('onlineOption')
hTransOp['onlineOption'].each do |item|
hReturn = OnlineResource.unpack(item, responseObj, outContext)
unless hReturn.nil?
intTransOpt[:onlineOptions] << hReturn
haveOption = true
end
end
end
if hTransOp.has_key?('offlineOption')
hTransOp['offlineOption'].each do |item|
hReturn = Medium.unpack(item, responseObj, outContext)
unless hReturn.nil?
intTransOpt[:offlineOptions] << hReturn
haveOption = true
end
end
end
if hTransOp.has_key?('transferFrequency')
hObject = hTransOp['transferFrequency']
unless hObject.empty?
hReturn = Duration.unpack(hObject, responseObj, outContext)
unless hReturn.nil?
intTransOpt[:transferFrequency] = hReturn
end
end
end
if hTransOp.has_key?('distributionFormat')
hTransOp['distributionFormat'].each do |item|
hReturn = Format.unpack(item, responseObj, outContext)
unless hReturn.nil?
intTransOpt[:distributionFormats] << hReturn
end
end
end
unless haveOption
@MessagePath.issueWarning(881, responseObj, inContext)
end
return intTransOpt
end
|