15
16
17
18
19
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
102
103
|
# File 'lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQualityReport.rb', line 15
def self.unpack(hReport, responseObj, inContext = nil)
@MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson
outContext = 'Data Quality Report'
outContext = inContext + ' > ' + outContext unless inContext.nil?
if hReport.empty?
@MessagePath.issueWarning(730, responseObj, inContext)
return nil
end
intMetadataClass = InternalMetadata.new
intReport = intMetadataClass.newDataQualityReport
intReport[:type] = hReport["type"]
if hReport.has_key?('conformanceResult')
hReport['conformanceResult'].each do |item|
hReturn = ConformanceResult.unpack(item, responseObj)
unless hReturn.nil?
intReport[:conformanceResult] << hReturn
end
end
end
if hReport.has_key?('coverageResult')
hReport['coverageResult'].each do |item|
hReturn = CoverageResult.unpack(item, responseObj)
unless hReturn.nil?
intReport[:coverageResult] << hReturn
end
end
end
if hReport.has_key?('descriptiveResult')
hReport['descriptiveResult'].each do |item|
hReturn = DescriptiveResult.unpack(item, responseObj)
unless hReturn.nil?
intReport[:descriptiveResult] << hReturn
end
end
end
if hReport.has_key?('evaluationMethod')
hReturn = EvaluationMethod.unpack(hReport['evaluationMethod'], responseObj)
unless hReturn.nil?
intReport[:evaluationMethod] = hReturn
end
end
if hReport.has_key?('qualityMeasure')
qualityMeasure = hReport['qualityMeasure']
identifier = qualityMeasure['identifier']
intReport[:qualityMeasure] = {}
if identifier
intReport[:qualityMeasure][:identifier] = {
identifier: identifier['identifier'],
namespace: identifier['namespace'],
version: identifier['version'],
description: identifier['description']
}
end
if qualityMeasure
intReport[:qualityMeasure][:name] = qualityMeasure['name']
intReport[:qualityMeasure][:description] = qualityMeasure['description']
end
end
if hReport.has_key?('quantitativeResult')
hReport['quantitativeResult'].each do |item|
hReturn = QuantitativeResult.unpack(item, responseObj)
unless hReturn.nil?
intReport[:quantitativeResult] << hReturn
end
end
end
return intReport
end
|