adiwg-mdtranslator 2.21.0.pre.beta.0 → 2.21.0.pre.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +1 -1
  3. data/DCAT-US.md +67 -0
  4. data/Gemfile.lock +5 -5
  5. data/README.md +21 -0
  6. data/Rakefile +1 -0
  7. data/adiwg-mdtranslator.gemspec +2 -2
  8. data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +1 -0
  9. data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_dataQuality.rb +27 -37
  10. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataDictionary.rb +8 -0
  11. data/lib/adiwg/mdtranslator/version.rb +1 -1
  12. data/lib/adiwg/mdtranslator/writers/dcat_us/dcat_us_writer.rb +98 -0
  13. data/lib/adiwg/mdtranslator/writers/dcat_us/readme.md +10 -0
  14. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb +55 -0
  15. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_url.rb +17 -0
  16. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_accrualPeriodicity.rb +45 -0
  17. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_bureau_code.rb +33 -0
  18. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_contact_point.rb +29 -0
  19. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb +104 -0
  20. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_described_by.rb +29 -0
  21. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_described_by_type.rb +33 -0
  22. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_description.rb +19 -0
  23. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_distribution.rb +59 -0
  24. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_download_url.rb +17 -0
  25. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_identifier.rb +29 -0
  26. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_is_part_of.rb +27 -0
  27. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_issued.rb +19 -0
  28. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_keyword.rb +19 -0
  29. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_landing_page.rb +27 -0
  30. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_language.rb +23 -0
  31. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_license.rb +18 -0
  32. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_media_type.rb +17 -0
  33. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_modified.rb +29 -0
  34. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_primaryITInvestmentUII.rb +19 -0
  35. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_program_code.rb +33 -0
  36. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_publisher.rb +74 -0
  37. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_references.rb +50 -0
  38. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb +32 -0
  39. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_spatial.rb +32 -0
  40. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_system_of_records.rb +28 -0
  41. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb +40 -0
  42. data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_theme.rb +28 -0
  43. data/lib/adiwg/mdtranslator/writers/dcat_us/version.rb +14 -0
  44. data/lib/adiwg/mdtranslator/writers/fgdc/classes/class_dataQuality.rb +133 -185
  45. data/lib/adiwg/mdtranslator/writers/fgdc/classes/class_spatialDomain.rb +1 -1
  46. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_acquisition.rb +103 -0
  47. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_enumerationList.rb +52 -0
  48. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_environment.rb +82 -0
  49. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_event.rb +123 -0
  50. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_extension.rb +208 -0
  51. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_instrument.rb +92 -0
  52. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_instrumentationEvent.rb +83 -0
  53. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_instrumentationEventList.rb +73 -0
  54. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_mdMetadata.rb +38 -0
  55. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_objective.rb +121 -0
  56. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_operation.rb +131 -0
  57. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_pass.rb +63 -0
  58. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_plan.rb +76 -0
  59. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_platform.rb +102 -0
  60. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_requestedDate.rb +44 -0
  61. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_requirement.rb +111 -0
  62. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_revision.rb +55 -0
  63. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_timePeriod.rb +2 -6
  64. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dictionary.rb +1 -0
  65. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_acquisition.rb +195 -0
  66. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_allocation.rb +1 -1
  67. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_body.rb +18 -2
  68. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_citation.rb +8 -8
  69. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQualityReport.rb +3 -3
  70. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_environment.rb +58 -0
  71. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_event.rb +121 -0
  72. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicExtent.rb +1 -1
  73. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_instrument.rb +98 -0
  74. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_instrumentationEvent.rb +84 -0
  75. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_instrumentationEventList.rb +90 -0
  76. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_lineage.rb +4 -4
  77. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_maintenance.rb +4 -4
  78. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_medium.rb +2 -2
  79. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataInfo.rb +4 -4
  80. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_objective.rb +155 -0
  81. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_operation.rb +178 -0
  82. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_pass.rb +72 -0
  83. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_plan.rb +93 -0
  84. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_platform.rb +117 -0
  85. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_releasability.rb +1 -1
  86. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_requestedDate.rb +33 -0
  87. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_requirement.rb +139 -0
  88. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceInfo.rb +5 -5
  89. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_responsibility.rb +1 -1
  90. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_revision.rb +55 -0
  91. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialRepresentation.rb +4 -4
  92. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomy.rb +1 -1
  93. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timeInstant.rb +1 -1
  94. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timePeriod.rb +5 -5
  95. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_transferOption.rb +2 -2
  96. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_usage.rb +5 -5
  97. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_vectorRepresentation.rb +2 -2
  98. data/lib/adiwg/mdtranslator_cli.rb +1 -1
  99. metadata +69 -6
@@ -0,0 +1,44 @@
1
+ module ADIWG
2
+ module Mdtranslator
3
+ module Writers
4
+ module Iso19115_3
5
+
6
+ class MI_RequestedDate
7
+ def initialize(xml, hResponseObj)
8
+ @xml = xml
9
+ @hResponseObj = hResponseObj
10
+ end
11
+
12
+ def writeXML(hRequestedDate)
13
+
14
+ gcoDateTimeClass = GcoDateTime.new(@xml, @hResponseObj)
15
+
16
+ @xml.tag!('mac:MI_RequestedDate') do
17
+ unless hRequestedDate[:requestedDateOfCollection].empty?
18
+ @xml.tag!('mac:requestedDateOfCollection') do
19
+ gcoDateTimeClass.writeXML(hRequestedDate[:requestedDateOfCollection])
20
+ end
21
+ else
22
+ if @hResponseObj[:writerShowTags]
23
+ @xml.tag!('mac:requestedDateOfCollection')
24
+ end
25
+ end
26
+
27
+ unless hRequestedDate[:latestAcceptableDate].empty?
28
+ @xml.tag!('mac:latestAcceptableDate') do
29
+ gcoDateTimeClass.writeXML(hRequestedDate[:latestAcceptableDate])
30
+ end
31
+ else
32
+ if @hResponseObj[:writerShowTags]
33
+ @xml.tag!('mac:latestAcceptableDate')
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+
44
+
@@ -0,0 +1,111 @@
1
+ require_relative 'class_citation'
2
+ require_relative 'class_identifier'
3
+ require_relative 'class_responsibility'
4
+ require_relative 'class_codelist'
5
+ require_relative 'class_requestedDate'
6
+ require_relative 'class_gcoDateTime'
7
+ require_relative 'class_plan'
8
+
9
+ module ADIWG
10
+ module Mdtranslator
11
+ module Writers
12
+ module Iso19115_3
13
+
14
+ class MI_Requirement
15
+ def initialize(xml, hResponseObj)
16
+ @xml = xml
17
+ @hResponseObj = hResponseObj
18
+ end
19
+
20
+ def writeXML(hRequirement)
21
+
22
+ citationClass = CI_Citation.new(@xml, @hResponseObj)
23
+ identifierClass = MD_Identifier.new(@xml, @hResponseObj)
24
+ responsibilityClass = CI_Responsibility.new(@xml, @hResponseObj)
25
+ codelistClass = MD_Codelist.new(@xml, @hResponseObj)
26
+ requestedDateClass = MI_RequestedDate.new(@xml, @hResponseObj)
27
+ gcoDateTimeClass = GcoDateTime.new(@xml, @hResponseObj)
28
+ planClass = MI_Plan.new(@xml, @hResponseObj)
29
+
30
+ @xml.tag!('mac:MI_Requirement', id: hRequirement[:requirementId]) do
31
+ unless hRequirement[:citation].empty?
32
+ @xml.tag!('mac:citation') do
33
+ citationClass.writeXML(hRequirement[:citation])
34
+ end
35
+ else
36
+ if @hResponseObj[:writerShowTags]
37
+ @xml.tag!('mac:citation')
38
+ end
39
+ end
40
+
41
+ unless hRequirement[:identifier].empty?
42
+ @xml.tag!('mac:identifier') do
43
+ identifierClass.writeXML(hRequirement[:identifier])
44
+ end
45
+ else
46
+ if @hResponseObj[:writerShowTags]
47
+ @xml.tag!('mac:identifier')
48
+ end
49
+ end
50
+
51
+ unless hRequirement[:requestors].empty?
52
+ hRequirement[:requestors].each do |hResponsibility|
53
+ @xml.tag!('mac:requestor') do
54
+ responsibilityClass.writeXML(hResponsibility)
55
+ end
56
+ end
57
+ end
58
+
59
+ unless hRequirement[:recipients].empty?
60
+ hRequirement[:recipients].each do |hResponsibility|
61
+ @xml.tag!('mac:recipient') do
62
+ responsibilityClass.writeXML(hResponsibility)
63
+ end
64
+ end
65
+ end
66
+
67
+ unless hRequirement[:priority].nil?
68
+ @xml.tag!('mac:priority') do
69
+ codelistClass.writeXML('mac', 'iso_priorityCode', hRequirement[:priority])
70
+ end
71
+ end
72
+
73
+ unless hRequirement[:requestedDate].nil?
74
+ @xml.tag!('mac:requestedDate') do
75
+ requestedDateClass.writeXML(hRequirement[:requestedDate])
76
+ end
77
+ else
78
+ if @hResponseObj[:writerShowTags]
79
+ @xml.tag!('mac:requestedDate')
80
+ end
81
+ end
82
+
83
+ # unless hRequirement[:expiryDate].nil?
84
+ # @xml.tag!('mac:expiryDate') do
85
+ # gcoDateTimeClass.writeXML(hRequirement[:expiryDate])
86
+ # end
87
+ # else
88
+ # if @hResponseObj[:writerShowTags]
89
+ # @xml.tag!('mac:expiryDate')
90
+ # end
91
+ # end
92
+
93
+ unless hRequirement[:satisfiedPlans].empty?
94
+ hRequirement[:satisfiedPlans].each do |hPlan|
95
+ @xml.tag!('mac:satisifiedPlan') do
96
+ planClass.writeXML(hPlan)
97
+ end
98
+ end
99
+ else
100
+ if @hResponseObj[:writerShowTags]
101
+ @xml.tag!('mac:satisifiedPlan')
102
+ end
103
+ end
104
+ end
105
+ end
106
+ end
107
+
108
+ end
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,55 @@
1
+ require_relative 'class_responsibility'
2
+ require_relative 'class_gcoDateTime'
3
+
4
+ module ADIWG
5
+ module Mdtranslator
6
+ module Writers
7
+ module Iso19115_3
8
+
9
+ class MI_Revision
10
+ def initialize(xml, hResponseObj)
11
+ @xml = xml
12
+ @hResponseObj = hResponseObj
13
+ end
14
+
15
+ def writeXML(hRevision)
16
+
17
+ responsibilityClass = CI_Responsibility.new(@xml, @hResponseObj)
18
+ gcoDateTimeClass = GcoDateTime.new(@xml, @hResponseObj)
19
+
20
+ @xml.tag!('mac:MI_Revision') do
21
+ unless hRevision[:description].nil?
22
+ @xml.tag!('mac:description') do
23
+ @xml.tag!('gco:CharacterString', hRevision[:description])
24
+ end
25
+ else
26
+ if @hResponseObj[:writerShowTags]
27
+ @xml.tag!('mac:description')
28
+ end
29
+ end
30
+
31
+ unless hRevision[:responsibleParty].empty?
32
+ @xml.tag!('mac:author') do
33
+ responsibilityClass.writeXML(hRevision[:responsibleParty])
34
+ end
35
+ else
36
+ @xml.tag!('mac:author')
37
+ end
38
+
39
+ unless hRevision[:dateInfo].empty?
40
+ @xml.tag!('mac:dateInfo') do
41
+ hRevision[:dateInfo].each do |hDate|
42
+ gcoDateTimeClass.writeXML(hDate)
43
+ end
44
+ end
45
+ else
46
+ @xml.tag!('mac:dateInfo')
47
+ end
48
+ end
49
+ end
50
+ end
51
+
52
+ end
53
+ end
54
+ end
55
+ end
@@ -65,9 +65,7 @@ module ADIWG
65
65
  # if empty add indeterminatePosition="unknown"
66
66
  unless hPeriod[:startDateTime].empty?
67
67
  hDateTime = hPeriod[:startDateTime]
68
- dateTime = hDateTime[:dateTime]
69
- timeResolution = hDateTime[:dateResolution]
70
- dateStr = AdiwgDateTimeFun.stringDateTimeFromDateTime(dateTime, timeResolution)
68
+ dateStr = AdiwgDateTimeFun.stringDateTimeFromDateObject(hDateTime)
71
69
  @xml.tag!('gml:beginPosition', dateStr)
72
70
  end
73
71
  if hPeriod[:startDateTime].empty?
@@ -79,9 +77,7 @@ module ADIWG
79
77
  # if empty add indeterminatePosition="unknown"
80
78
  unless hPeriod[:endDateTime].empty?
81
79
  hDateTime = hPeriod[:endDateTime]
82
- dateTime = hDateTime[:dateTime]
83
- timeResolution = hDateTime[:dateResolution]
84
- dateStr = AdiwgDateTimeFun.stringDateTimeFromDateTime(dateTime, timeResolution)
80
+ dateStr = AdiwgDateTimeFun.stringDateTimeFromDateObject(hDateTime)
85
81
  @xml.tag!('gml:endPosition', dateStr)
86
82
  end
87
83
  if hPeriod[:endDateTime].empty?
@@ -24,6 +24,7 @@ module ADIWG
24
24
  def self.build(hDictionary)
25
25
 
26
26
  Jbuilder.new do |json|
27
+ json.dictionaryId hDictionary[:dictionaryId]
27
28
  json.citation Citation.build(hDictionary[:citation]) unless hDictionary[:citation].empty?
28
29
  json.description hDictionary[:description]
29
30
  json.subject hDictionary[:subjects] unless hDictionary[:subjects].empty?
@@ -0,0 +1,195 @@
1
+ require_relative 'html_scope'
2
+ require_relative 'html_plan'
3
+ require_relative 'html_requirement'
4
+ require_relative 'html_objective'
5
+ require_relative 'html_platform'
6
+ require_relative 'html_instrument'
7
+ require_relative 'html_operation'
8
+ require_relative 'html_event'
9
+ require_relative 'html_pass'
10
+ require_relative 'html_environment'
11
+
12
+ module ADIWG
13
+ module Mdtranslator
14
+ module Writers
15
+ module Simple_html
16
+ class Html_Acquisition
17
+ def initialize(html)
18
+ @html = html
19
+ end
20
+
21
+ def writeHtml(hAcquisition)
22
+ scopeClass = Html_Scope.new(@html)
23
+ planClass = Html_Plan.new(@html)
24
+ requirementClass = Html_Requirement.new(@html)
25
+ objectiveClass = Html_Objective.new(@html)
26
+ platformClass = Html_Platform.new(@html)
27
+ instrumentClass = Html_Instrument.new(@html)
28
+ operationClass = Html_Operation.new(@html)
29
+ eventClass = Html_Event.new(@html)
30
+ passClass = Html_Pass.new(@html)
31
+ environmentClass = Html_Environment.new(@html)
32
+
33
+ # scope
34
+ unless hAcquisition[:scope].empty?
35
+ @html.div do
36
+ @html.h5('Scope', {'class' => 'h5'})
37
+ @html.div(:class => 'block') do
38
+ scopeClass.writeHtml(hDataQuality[:scope])
39
+ end
40
+ end
41
+ end
42
+
43
+ # plan
44
+ unless hAcquisition[:plans].empty?
45
+ @html.div(:class =>'block') do
46
+ @html.div do
47
+ @html.h4('Plans', {'class' => 'h4'})
48
+ hAcquisition[:plans].each do |plan|
49
+ @html.div(:class =>'block') do
50
+ @html.div do
51
+ @html.h5('Plan', {'class' => 'h5'})
52
+ planClass.writeHtml(plan)
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+
60
+ # requirement
61
+ unless hAcquisition[:requirements].empty?
62
+ @html.div(:class =>'block') do
63
+ @html.div do
64
+ @html.h4('Requirements', {'class' => 'h4'})
65
+ hAcquisition[:requirements].each do |requirement|
66
+ @html.div(:class =>'block') do
67
+ @html.div do
68
+ @html.h5('Requirement', {'class' => 'h5'})
69
+ requirementClass.writeHtml(requirement)
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
76
+
77
+ # objective
78
+ unless hAcquisition[:objectives].empty?
79
+ @html.div(:class =>'block') do
80
+ @html.div do
81
+ @html.h4('Objectives', {'class' => 'h4'})
82
+ hAcquisition[:objectives].each do |objective|
83
+ @html.div(:class =>'block') do
84
+ @html.div do
85
+ @html.h5('Objective', {'class' => 'h5'})
86
+ objectiveClass.writeHtml(objective)
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
93
+
94
+
95
+ # platform
96
+ unless hAcquisition[:platforms].empty?
97
+ @html.div(:class =>'block') do
98
+ @html.div do
99
+ @html.h4('Platforms', {'class' => 'h4'})
100
+ hAcquisition[:platforms].each do |platform|
101
+ @html.div(:class =>'block') do
102
+ @html.div do
103
+ @html.h5('Platform', {'class' => 'h5'})
104
+ platformClass.writeHtml(platform)
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
111
+
112
+ # Instrument
113
+ unless hAcquisition[:instruments].empty?
114
+ @html.div(:class =>'block') do
115
+ @html.div do
116
+ @html.h4('Instrument', {'class' => 'h4'})
117
+ hAcquisition[:instruments].each do |instrument|
118
+ @html.div(:class =>'block') do
119
+ @html.div do
120
+ @html.h5('Instrument', {'class' => 'h5'})
121
+ instrumentClass.writeHtml(instrument)
122
+ end
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
128
+
129
+ # operation
130
+ unless hAcquisition[:operations].empty?
131
+ @html.div(:class =>'block') do
132
+ @html.div do
133
+ @html.h4('Operations', {'class' => 'h4'})
134
+ hAcquisition[:operations].each do |operations|
135
+ @html.div(:class =>'block') do
136
+ @html.div do
137
+ @html.h5('Operation', {'class' => 'h5'})
138
+ operationClass.writeHtml(operations)
139
+ end
140
+ end
141
+ end
142
+ end
143
+ end
144
+ end
145
+
146
+ # Event
147
+ unless hAcquisition[:events].empty?
148
+ @html.div(:class =>'block') do
149
+ @html.div do
150
+ @html.h4('Events', {'class' => 'h4'})
151
+ hAcquisition[:events].each do |event|
152
+ @html.div(:class =>'block') do
153
+ @html.div do
154
+ @html.h5('Event', {'class' => 'h5'})
155
+ eventClass.writeHtml(event)
156
+ end
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
162
+
163
+ # Pass
164
+ unless hAcquisition[:passes].empty?
165
+ @html.div(:class =>'block') do
166
+ @html.div do
167
+ @html.h4('Passes', {'class' => 'h4'})
168
+ hAcquisition[:passes].each do |pass|
169
+ @html.div(:class =>'block') do
170
+ @html.div do
171
+ @html.h5('Pass', {'class' => 'h5'})
172
+ passClass.writeHtml(pass)
173
+ end
174
+ end
175
+ end
176
+ end
177
+ end
178
+ end
179
+
180
+ # Environment
181
+ unless hAcquisition[:environment].empty?
182
+ @html.div do
183
+ @html.h5('Scope', {'class' => 'h5'})
184
+ @html.div(:class => 'block') do
185
+ environmentClass.writeHtml(hAcquisition[:environment])
186
+ end
187
+ end
188
+ end
189
+
190
+ end
191
+ end
192
+ end
193
+ end
194
+ end
195
+ end
@@ -90,7 +90,7 @@ module ADIWG
90
90
  # allocation - online resource [] {onlineResource}
91
91
  hAllocation[:onlineResources].each do |hOnline|
92
92
  @html.div do
93
- @html.div('Online Resource', {'class' => 'h5'})
93
+ @html.h5('Online Resource', {'class' => 'h5'})
94
94
  @html.div(:class => 'block') do
95
95
  onlineClass.writeHtml(hOnline)
96
96
  end
@@ -20,6 +20,7 @@ require_relative 'html_additionalDocumentation'
20
20
  require_relative 'html_funding'
21
21
  require_relative 'html_dataDictionary'
22
22
  require_relative 'html_metadataRepository'
23
+ require_relative 'html_acquisition'
23
24
 
24
25
  module ADIWG
25
26
  module Mdtranslator
@@ -47,6 +48,7 @@ module ADIWG
47
48
  fundingClass = Html_Funding.new(@html)
48
49
  dictionaryClass = Html_DataDictionary.new(@html)
49
50
  repositoryClass = Html_Repository.new(@html)
51
+ aquisitionClass = Html_Acquisition.new(@html)
50
52
 
51
53
  # make sections of the internal data store convenient
52
54
  hSchema = intObj[:schema]
@@ -61,6 +63,7 @@ module ADIWG
61
63
  aFunding = intObj[:metadata][:funding]
62
64
  aDictionaries = intObj[:dataDictionaries]
63
65
  aRepositories = intObj[:metadataRepositories]
66
+ aAcquisitions = intObj[:metadata][:acquisitions]
64
67
 
65
68
  # set page title and logo
66
69
  # side navigation
@@ -78,6 +81,7 @@ module ADIWG
78
81
  @html.a(' Dictionary', {'href' => '#body-dataDictionary', 'class' => 'btn navBtn', 'id' => 'dictionaryButton'})
79
82
  @html.a(' Funding', {'href' => '#body-funding', 'class' => 'btn navBtn', 'id' => 'fundingButton'})
80
83
  @html.a(' Repository', {'href' => '#body-repository', 'class' => 'btn navBtn', 'id' => 'repositoryButton'})
84
+ @html.a(' Acquisition', {'href' => '#body-acquisition', 'class' => 'btn navBtn', 'id' => 'acquisitionButton'})
81
85
 
82
86
  end
83
87
 
@@ -148,8 +152,8 @@ module ADIWG
148
152
  unless hResourceInfo.empty?
149
153
  @html.div do
150
154
  @html.h2('Resource Information', {'id' => 'body-resourceInfo', 'class' => 'h2'})
151
- @html.span('', {'style' => 'mso-bookmark:body-resourceInfo'})
152
- @html.div(:class => 'block') do
155
+ @html.span('', {'style' => 'mso-bookmark:body-resourceInfo'})
156
+ @html.div(:class => 'block') do
153
157
  resourceClass.writeHtml(hResourceInfo)
154
158
  end
155
159
  @html.hr
@@ -298,6 +302,18 @@ module ADIWG
298
302
  end
299
303
  end
300
304
 
305
+ unless aAcquisitions.nil? || aAcquisitions.empty?
306
+ @html.div do
307
+ @html.h2('Acquisitions', {'id' => 'body-acquisition', 'class' => 'h2'})
308
+ @html.span('', {'style' => 'mso-bookmark:body-acquisition'})
309
+ aAcquisitions.each do |hAcquisition|
310
+ @html.div(:class => 'block') do
311
+ aquisitionClass.writeHtml(hAcquisition)
312
+ end
313
+ end
314
+ end
315
+ end
316
+
301
317
  end # body
302
318
  end # writeHtml
303
319
  end # Html_Body
@@ -147,14 +147,14 @@ module ADIWG
147
147
  end
148
148
  end
149
149
 
150
- # citation - other div []
151
- # unless hCitation[:otherdiv].empty?
152
- # hCitation[:otherdiv].each do |detail|
153
- # @html.em('Other div: ')
154
- # @html.text!(detail)
155
- # @html.br
156
- # end
157
- # end
150
+ # citation - other details []
151
+ unless hCitation[:otherDetails].empty?
152
+ hCitation[:otherDetails].each do |detail|
153
+ @html.em('Other Details: ')
154
+ @html.text!(detail)
155
+ @html.br
156
+ end
157
+ end
158
158
 
159
159
  end # writeHtml
160
160
  end # Html_Citation
@@ -262,7 +262,7 @@ module ADIWG
262
262
  # ResultContentDescription
263
263
  unless result[:resultContentDescription].empty?
264
264
  @html.div do
265
- @html.div('Result Content Description', {'class' => 'h5'})
265
+ @html.h5('Result Content Description', {'class' => 'h5'})
266
266
  @html.div(:class => 'block') do
267
267
  coverageInfoClass.writeHtml(result[:resultContentDescription])
268
268
  end
@@ -272,7 +272,7 @@ module ADIWG
272
272
  # ResourceFormat
273
273
  unless result[:resourceFormat].empty?
274
274
  @html.div do
275
- @html.div('Resource Format', {'class' => 'h5'})
275
+ @html.h5('Resource Format', {'class' => 'h5'})
276
276
  @html.div(:class => 'block') do
277
277
  formatClass.writeHtml(result[:resourceFormat])
278
278
  end
@@ -282,7 +282,7 @@ module ADIWG
282
282
  # ResultFile
283
283
  unless result[:resultFile].empty?
284
284
  @html.div do
285
- @html.div('Result File', {'class' => 'h5'})
285
+ @html.h5('Result File', {'class' => 'h5'})
286
286
  @html.div(:class => 'block') do
287
287
  resultFileClass.writeHtml(result[:resultFile])
288
288
  end
@@ -0,0 +1,58 @@
1
+ module ADIWG
2
+ module Mdtranslator
3
+ module Writers
4
+ module Simple_html
5
+ class Html_Environment
6
+ def initialize(html)
7
+ @html = html
8
+ end
9
+
10
+ def writeHtml(hEnvironment)
11
+ # averageAirTemperature
12
+ unless hEnvironment[:averageAirTemperature].nil?
13
+ @html.em('Average Air Temperature: ')
14
+ @html.text!(hEnvironment[:averageAirTemperature].to_s)
15
+ @html.br
16
+ end
17
+
18
+ # maxRelativeHumidity
19
+ unless hEnvironment[:maxRelativeHumidity].nil?
20
+ @html.em('Maximum Relative Humidity: ')
21
+ @html.text!(hEnvironment[:maxRelativeHumidity].to_s)
22
+ @html.br
23
+ end
24
+
25
+ # maxAltitude
26
+ unless hEnvironment[:maxAltitude].nil?
27
+ @html.em('Maximum Altitude: ')
28
+ @html.text!(hEnvironment[:maxAltitude].to_s)
29
+ @html.br
30
+ end
31
+
32
+ # meteorologicalConditions
33
+ unless hEnvironment[:meteorologicalConditions].nil?
34
+ @html.em('Meteorological Conditions: ')
35
+ @html.text!(hEnvironment[:meteorologicalConditions])
36
+ @html.br
37
+ end
38
+
39
+ # solarAzimuth
40
+ unless hEnvironment[:solarAzimuth].nil?
41
+ @html.em('Solar Azimuth: ')
42
+ @html.text!(hEnvironment[:solarAzimuth].to_s)
43
+ @html.br
44
+ end
45
+
46
+ # solarElevation
47
+ unless hEnvironment[:solarElevation].nil?
48
+ @html.em('Solar Elevation: ')
49
+ @html.text!(hEnvironment[:solarElevation].to_s)
50
+ @html.br
51
+ end
52
+
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end