Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Injection/html writer cr #336

Merged
merged 6 commits into from
Jan 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
require_relative 'module_descriptiveResult'
require_relative 'module_quantitativeResult'
require_relative 'module_evaluationMethod'
require_relative 'module_qualityMeasure'

module ADIWG
module Mdtranslator
Expand Down Expand Up @@ -72,23 +73,10 @@ def self.unpack(hReport, responseObj, inContext = nil)
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
hReturn = QualityMeasure.unpack(hReport['qualityMeasure'], responseObj)

if qualityMeasure
intReport[:qualityMeasure][:name] = qualityMeasure['name']
intReport[:qualityMeasure][:description] = qualityMeasure['description']
unless hReturn.nil?
intReport[:qualityMeasure] = hReturn
end
end

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
require_relative 'module_identifier'

module ADIWG
module Mdtranslator
module Readers
module MdJson

module QualityMeasure
def self.unpack(hQualityMeasure, responseObj)

intMetadataClass = InternalMetadata.new
intQualityMeasure = intMetadataClass.newQualityMeasure

intQualityMeasure[:description] = hQualityMeasure['description']

if hQualityMeasure.has_key?('name')
intQualityMeasure[:name] = hQualityMeasure['name']
end

if hQualityMeasure.has_key?('identifier')
hReturn = Identifier.unpack(hQualityMeasure['identifier'], responseObj)
unless hReturn.nil?
intQualityMeasure[:identifier] = hReturn
end
end

return intQualityMeasure

end
end
end
end
end
end
160 changes: 83 additions & 77 deletions lib/adiwg/mdtranslator/writers/html/sections/html_dataQualityReport.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
require_relative 'html_identifier'
require_relative 'html_scope'
require_relative 'html_spatialRepresentation'
require_relative 'html_format'
require_relative 'html_resultFile'

module ADIWG
module Mdtranslator
Expand Down Expand Up @@ -73,82 +75,82 @@ def writeEvaluationMethod(evaluationMethod)

@html.details do
@html.summary('Evaluation Method', {'class' => 'h5'})
evaluationMethod.each do |method|
@html.section(class: 'block') do
# Type
unless method[:type].nil?
@html.em('Type: ')
@html.text!(method[:type])
@html.br
end

# DateTime
unless method[:dateTime].nil?
@html.em('Date Time: ')
@html.text!(method[:dateTime])
@html.br
end

# MethodDescription
unless method[:methodDescription].nil?
@html.em('Method Description: ')
@html.text!(method[:methodDescription])
@html.br
end

# EvaluationMethodType
unless method[:evaluationMethodType].nil?
@html.em('Evaluation Method Type: ')
@html.text!(method[:evaluationMethodType])
@html.br
end

# DeductiveSource
unless method[:deductiveSource].nil?
@html.em('Deductive Source: ')
@html.text!(method[:deductiveSource])
@html.br
end

# SamplingScheme
unless method[:samplingScheme].nil?
@html.em('Sampling Scheme: ')
@html.text!(method[:samplingScheme])
@html.br
end

# LotDescription
unless method[:lotDescription].nil?
@html.em('Lot Description: ')
@html.text!(method[:lotDescription])
@html.br
end

# SamplingRatio
unless method[:samplingRatio].nil?
@html.em('Sampling Ratio: ')
@html.text!(method[:samplingRatio])
@html.section(class: 'block') do
# Type
unless evaluationMethod[:type].nil?
@html.em('Type: ')
@html.text!(evaluationMethod[:type])
@html.br
end

# DateTime
unless evaluationMethod[:dateTime].nil?
@html.em('Date Time: ')
evaluationMethod[:dateTime].each do |datetime|
@html.text!(datetime)
@html.br
end

# EvaluationProcedure
unless method[:evaluationProcedure].nil? || method[:evaluationProcedure].empty?
@html.details do
@html.summary('Evaluation Procedure', {'class' => 'h5'})
@html.section(class: 'block') do
citationClass.writeHtml(method[:evaluationProcedure])
end
end

# MethodDescription
unless evaluationMethod[:methodDescription].nil?
@html.em('evaluationMethod Description: ')
@html.text!(evaluationMethod[:methodDescription])
@html.br
end

# EvaluationMethodType
unless evaluationMethod[:evaluationMethodType].nil?
@html.em('Evaluation evaluationMethod Type: ')
@html.text!(evaluationMethod[:evaluationMethodType])
@html.br
end

# DeductiveSource
unless evaluationMethod[:deductiveSource].nil?
@html.em('Deductive Source: ')
@html.text!(evaluationMethod[:deductiveSource])
@html.br
end

# SamplingScheme
unless evaluationMethod[:samplingScheme].nil?
@html.em('Sampling Scheme: ')
@html.text!(evaluationMethod[:samplingScheme])
@html.br
end

# LotDescription
unless evaluationMethod[:lotDescription].nil?
@html.em('Lot Description: ')
@html.text!(evaluationMethod[:lotDescription])
@html.br
end

# SamplingRatio
unless evaluationMethod[:samplingRatio].nil?
@html.em('Sampling Ratio: ')
@html.text!(evaluationMethod[:samplingRatio])
@html.br
end

# EvaluationProcedure
unless evaluationMethod[:evaluationProcedure].nil? || evaluationMethod[:evaluationProcedure].empty?
@html.details do
@html.summary('Evaluation Procedure', {'class' => 'h5'})
@html.section(class: 'block') do
citationClass.writeHtml(evaluationMethod[:evaluationProcedure])
end
end

# ReferenceDocument
unless method[:referenceDocument].nil? || method[:referenceDocument].empty?
@html.details do
@html.summary('Reference Document', {'class' => 'h5'})
method[:referenceDocument].each do |doc|
@html.section(class: 'block') do
citationClass.writeHtml(doc)
end
end

# ReferenceDocument
unless evaluationMethod[:referenceDocument].nil? || evaluationMethod[:referenceDocument].empty?
@html.details do
@html.summary('Reference Document', {'class' => 'h5'})
evaluationMethod[:referenceDocument].each do |doc|
@html.section(class: 'block') do
citationClass.writeHtml(doc)
end
end
end
Expand Down Expand Up @@ -213,7 +215,9 @@ def writeConformanceResult(conformanceResult)
def writeCoverageResult(coverageResult)
scopeClass = Html_Scope.new(@html) # Assuming a class to handle scope objects
spatialRepresentationClass = Html_SpatialRepresentation.new(@html) # Assuming a class to handle spatialRepresentation objects

formatClass = Html_Format.new(@html)
resultFileClass = Html_ResultFile.new(@html)

@html.details do
@html.summary('Coverage Result', {'class' => 'h5'})
coverageResult.each do |result|
Expand Down Expand Up @@ -264,15 +268,17 @@ def writeCoverageResult(coverageResult)
# ResourceFormat
unless result[:resourceFormat].nil?
@html.em('Resource Format: ')
@html.text!(result[:resourceFormat])
@html.br
@html.section(class: 'block') do
formatClass.writeHtml(result[:resourceFormat])
end
end

# ResultFile
unless result[:resultFile].nil?
@html.em('Result File: ')
@html.text!(result[:resultFile])
@html.br
@html.section(class: 'block') do
resultFileClass.writeHtml(result[:resultFile])
end
end
end
end
Expand Down
60 changes: 60 additions & 0 deletions lib/adiwg/mdtranslator/writers/html/sections/html_resultFile.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# HTML writer
# result file

require_relative 'html_format'

module ADIWG
module Mdtranslator
module Writers
module Html

class Html_ResultFile

def initialize(html)
@html = html
end

def writeHtml(hResultFile)

# classes used
formatClass = Html_Format.new(@html)


# result file - file name
unless hResultFile[:fileName].nil?
@html.em('File Name: ')
@html.text!(hResultFile[:fileName])
@html.br
end

# result file - file type
unless hResultFile[:fileType].nil?
@html.em('File Type: ')
@html.text!(hResultFile[:fileType])
@html.br
end

# result file - file description
unless hResultFile[:fileDescription].nil?
@html.em('File Description: ')
@html.text!(hResultFile[:fileDescription])
@html.br
end

# resource format - format specification {citation}
unless hResultFile[:fileFormat].empty?
@html.details do
@html.summary(hResultFile[:fileFormat][:title], {'class' => 'h5'})
@html.section(:class => 'block') do
formatClass.writeHtml(hResultFile[:fileFormat])
end
end
end

end # writeHtml
end # Html_Format

end
end
end
end
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
require 'jbuilder'
require_relative 'mdJson_identifier'

module ADIWG
module Mdtranslator
Expand All @@ -8,9 +9,9 @@ module MdJson
module QualityMeasure
def self.build(hQualityMeasure)
Jbuilder.new do |json|
json.identifier hQualityMeasure[:identifier]
json.name hQualityMeasure[:name]
json.description hQualityMeasure[:description]
json.identifier Identifier.build(hQualityMeasure[:identifier]) unless hQualityMeasure[:identifier].empty?
json.name hQualityMeasure[:name] unless hQualityMeasure[:name].empty?
json.description hQualityMeasure[:description] unless hQualityMeasure[:description].nil?
end
end
end
Expand Down
Loading