adiwg-mdtranslator 2.20.0.pre.beta.10 → 2.21.0.pre.beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +1 -1
- data/Gemfile.lock +5 -5
- data/README.md +0 -21
- data/Rakefile +0 -1
- data/adiwg-mdtranslator.gemspec +2 -2
- data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +45 -7
- data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_dataQuality.rb +37 -27
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_acquisition.rb +133 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataDictionary.rb +0 -8
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_environment.rb +47 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_event.rb +88 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_instrument.rb +73 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_instrumentationEvent.rb +77 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_instrumentationEventList.rb +62 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_metadata.rb +11 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_objective.rb +104 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_operation.rb +119 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_pass.rb +53 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_plan.rb +80 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_platform.rb +87 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_requestedDate.rb +51 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_requirement.rb +98 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_revision.rb +50 -0
- data/lib/adiwg/mdtranslator/version.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/fgdc/classes/class_dataQuality.rb +185 -133
- data/lib/adiwg/mdtranslator/writers/fgdc/classes/class_spatialDomain.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/html/sections/html_acquisition.rb +199 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_body.rb +19 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_environment.rb +58 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_event.rb +121 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_instrument.rb +98 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_instrumentationEvent.rb +84 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_instrumentationEventList.rb +90 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_objective.rb +155 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_operation.rb +178 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_pass.rb +72 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_plan.rb +93 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_platform.rb +117 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_requestedDate.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_requirement.rb +139 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_revision.rb +55 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_mdMetadata.rb +0 -27
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_timePeriod.rb +6 -2
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_acquisition.rb +42 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dictionary.rb +0 -1
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_environment.rb +28 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_event.rb +37 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_instrument.rb +35 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_instrumentationEvent.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_instrumentationEventList.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadata.rb +2 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_objective.rb +37 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_operation.rb +34 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_pass.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_plan.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_platform.rb +35 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_requestedDate.rb +26 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_requirement.rb +36 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_revision.rb +28 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_allocation.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_citation.rb +8 -8
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQualityReport.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicExtent.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_lineage.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_maintenance.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_medium.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataInfo.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_releasability.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceInfo.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_responsibility.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialRepresentation.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomy.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timeInstant.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timePeriod.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_transferOption.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_usage.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_vectorRepresentation.rb +2 -2
- data/lib/adiwg/mdtranslator_cli.rb +1 -1
- metadata +48 -41
- data/DCAT-US.md +0 -67
- data/lib/adiwg/mdtranslator/writers/dcat_us/dcat_us_writer.rb +0 -98
- data/lib/adiwg/mdtranslator/writers/dcat_us/readme.md +0 -10
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb +0 -55
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_url.rb +0 -17
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_accrualPeriodicity.rb +0 -45
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_bureau_code.rb +0 -33
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_contact_point.rb +0 -29
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb +0 -104
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_described_by.rb +0 -29
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_described_by_type.rb +0 -33
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_description.rb +0 -19
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_distribution.rb +0 -59
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_download_url.rb +0 -17
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_identifier.rb +0 -29
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_is_part_of.rb +0 -27
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_issued.rb +0 -19
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_keyword.rb +0 -19
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_landing_page.rb +0 -27
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_language.rb +0 -23
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_license.rb +0 -18
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_media_type.rb +0 -17
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_modified.rb +0 -29
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_primaryITInvestmentUII.rb +0 -19
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_program_code.rb +0 -33
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_publisher.rb +0 -74
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_references.rb +0 -50
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb +0 -32
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_spatial.rb +0 -32
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_system_of_records.rb +0 -28
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb +0 -40
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_theme.rb +0 -28
- data/lib/adiwg/mdtranslator/writers/dcat_us/version.rb +0 -14
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_enumerationList.rb +0 -52
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_extension.rb +0 -208
@@ -0,0 +1,117 @@
|
|
1
|
+
require_relative 'html_identifier'
|
2
|
+
require_relative 'html_citation'
|
3
|
+
require_relative 'html_responsibility'
|
4
|
+
require_relative 'html_instrument'
|
5
|
+
require_relative 'html_instrumentationEventList'
|
6
|
+
|
7
|
+
module ADIWG
|
8
|
+
module Mdtranslator
|
9
|
+
module Writers
|
10
|
+
module Html
|
11
|
+
class Html_Platform
|
12
|
+
def initialize(html)
|
13
|
+
@html = html
|
14
|
+
end
|
15
|
+
|
16
|
+
def writeHtml(hPlatform)
|
17
|
+
identifierClass = Html_Identifier.new(@html)
|
18
|
+
citationClass = Html_Citation.new(@html)
|
19
|
+
responsibilityClass = Html_Responsibility.new(@html)
|
20
|
+
instrumentClass = Html_Instrument.new(@html)
|
21
|
+
instrumentationEventListClass = Html_InstrumentationEventList.new(@html)
|
22
|
+
|
23
|
+
# platformId
|
24
|
+
unless hPlatform[:platformId].nil?
|
25
|
+
@html.em('Platform ID: ')
|
26
|
+
@html.text!(hPlatform[:platformId])
|
27
|
+
@html.br
|
28
|
+
end
|
29
|
+
|
30
|
+
# citation
|
31
|
+
unless hPlatform[:citation].empty?
|
32
|
+
@html.section(:class => 'block') do
|
33
|
+
@html.details do
|
34
|
+
@html.summary('Citation', {'class' => 'h4'})
|
35
|
+
@html.section(:class => 'block') do
|
36
|
+
citationClass.writeHtml(hPlatform[:citation])
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# identifier
|
43
|
+
unless hPlatform[:identifier].empty?
|
44
|
+
@html.section(:class => 'block') do
|
45
|
+
@html.details do
|
46
|
+
@html.summary('Identifier', {'class' => 'h4'})
|
47
|
+
@html.section(:class => 'block') do
|
48
|
+
identifierClass.writeHtml(hPlatform[:identifier])
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
# description
|
55
|
+
unless hPlatform[:description].nil?
|
56
|
+
@html.em('Description: ')
|
57
|
+
@html.text!(hPlatform[:description])
|
58
|
+
@html.br
|
59
|
+
end
|
60
|
+
|
61
|
+
# sponsor
|
62
|
+
unless hPlatform[:sponsors].empty?
|
63
|
+
@html.section(:class => 'block') do
|
64
|
+
@html.details do
|
65
|
+
@html.summary('Sponsors', {'class' => 'h4'})
|
66
|
+
hPlatform[:sponsors].each do |responsibility|
|
67
|
+
@html.section(:class => 'block') do
|
68
|
+
@html.details do
|
69
|
+
@html.summary('Responsibility', {'class' => 'h5'})
|
70
|
+
responsibilityClass.writeHtml(responsibility)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
# instrument
|
79
|
+
unless hPlatform[:instruments].empty?
|
80
|
+
@html.section(:class => 'block') do
|
81
|
+
@html.details do
|
82
|
+
@html.summary('Instruments', {'class' => 'h4'})
|
83
|
+
hPlatform[:instruments].each do |instrument|
|
84
|
+
@html.section(:class => 'block') do
|
85
|
+
@html.details do
|
86
|
+
@html.summary('Instrument', {'class' => 'h5'})
|
87
|
+
instrumentClass.writeHtml(instrument)
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
# history
|
96
|
+
unless hPlatform[:history].empty?
|
97
|
+
@html.section(:class => 'block') do
|
98
|
+
@html.details do
|
99
|
+
@html.summary('History', {'class' => 'h4'})
|
100
|
+
hPlatform[:history].each do |instrumentationEventList|
|
101
|
+
@html.section(:class => 'block') do
|
102
|
+
@html.details do
|
103
|
+
@html.summary('Instrumentation Event List', {'class' => 'h5'})
|
104
|
+
instrumentationEventListClass.writeHtml(instrumentationEventList)
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require_relative 'html_datetime'
|
2
|
+
|
3
|
+
module ADIWG
|
4
|
+
module Mdtranslator
|
5
|
+
module Writers
|
6
|
+
module Html
|
7
|
+
class Html_RequestedDate
|
8
|
+
def initialize(html)
|
9
|
+
@html = html
|
10
|
+
end
|
11
|
+
|
12
|
+
def writeHtml(hRequestedDate)
|
13
|
+
datetimeClass = Html_Datetime.new(@html)
|
14
|
+
|
15
|
+
# requestedDateOfCollection
|
16
|
+
unless hRequestedDate[:requestedDateOfCollection].empty?
|
17
|
+
@html.em('Requested Date of Collection: ')
|
18
|
+
@html.text!(hRequestedDate[:requestedDateOfCollection][:dateTime].to_s)
|
19
|
+
@html.br
|
20
|
+
end
|
21
|
+
|
22
|
+
# latestAcceptableDate
|
23
|
+
unless hRequestedDate[:latestAcceptableDate].empty?
|
24
|
+
@html.em('Latest Acceptable Date: ')
|
25
|
+
@html.text!(hRequestedDate[:latestAcceptableDate][:dateTime].to_s)
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,139 @@
|
|
1
|
+
require_relative 'html_citation'
|
2
|
+
require_relative 'html_identifier'
|
3
|
+
require_relative 'html_responsibility'
|
4
|
+
require_relative 'html_requestedDate'
|
5
|
+
require_relative 'html_date'
|
6
|
+
require_relative 'html_plan'
|
7
|
+
|
8
|
+
module ADIWG
|
9
|
+
module Mdtranslator
|
10
|
+
module Writers
|
11
|
+
module Html
|
12
|
+
class Html_Requirement
|
13
|
+
def initialize(html)
|
14
|
+
@html = html
|
15
|
+
end
|
16
|
+
|
17
|
+
def writeHtml(hRequirement)
|
18
|
+
citationClass = Html_Citation.new(@html)
|
19
|
+
identifierClass = Html_Identifier.new(@html)
|
20
|
+
responsibilityClass = Html_Responsibility.new(@html)
|
21
|
+
requestedDateClass = Html_RequestedDate.new(@html)
|
22
|
+
dateClass = Html_Date.new(@html)
|
23
|
+
planClass = Html_Plan.new(@html)
|
24
|
+
|
25
|
+
# requirementId
|
26
|
+
unless hRequirement[:requirementId].nil?
|
27
|
+
@html.em('Requirement ID: ')
|
28
|
+
@html.text!(hRequirement[:requirementId])
|
29
|
+
@html.br
|
30
|
+
end
|
31
|
+
|
32
|
+
# citation
|
33
|
+
unless hRequirement[:citation].empty?
|
34
|
+
@html.section(:class => 'block') do
|
35
|
+
@html.details do
|
36
|
+
@html.summary('Citation', {'class' => 'h4'})
|
37
|
+
@html.section(:class => 'block') do
|
38
|
+
citationClass.writeHtml(hRequirement[:citation])
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# identifier
|
45
|
+
unless hRequirement[:identifier].empty?
|
46
|
+
@html.section(:class => 'block') do
|
47
|
+
@html.details do
|
48
|
+
@html.summary('Identifier ', {'class' => 'h4'})
|
49
|
+
@html.section(:class => 'block') do
|
50
|
+
identifierClass.writeHtml(hRequirement[:identifier])
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
# requestor
|
57
|
+
unless hRequirement[:requestors].empty?
|
58
|
+
@html.section(:class => 'block') do
|
59
|
+
@html.details do
|
60
|
+
@html.summary('Requestors', {'class' => 'h4'})
|
61
|
+
hRequirement[:requestors].each do |requestor|
|
62
|
+
@html.section(:class => 'block') do
|
63
|
+
@html.details do
|
64
|
+
@html.summary('Requestor', {'class' => 'h5'})
|
65
|
+
operationClass.writeHtml(requestor)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
# recipient
|
74
|
+
unless hRequirement[:recipients].empty?
|
75
|
+
@html.section(:class => 'block') do
|
76
|
+
@html.details do
|
77
|
+
@html.summary('Recipients', {'class' => 'h4'})
|
78
|
+
hRequirement[:recipients].each do |recipient|
|
79
|
+
@html.section(:class => 'block') do
|
80
|
+
@html.details do
|
81
|
+
@html.summary('Recipient', {'class' => 'h5'})
|
82
|
+
operationClass.writeHtml(recipient)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
# priority
|
91
|
+
unless hRequirement[:priority].nil?
|
92
|
+
@html.em('Priority: ')
|
93
|
+
@html.text!(hRequirement[:priority])
|
94
|
+
@html.br
|
95
|
+
end
|
96
|
+
|
97
|
+
# requested date
|
98
|
+
unless hRequirement[:requestedDate].empty?
|
99
|
+
@html.section(:class => 'block') do
|
100
|
+
@html.details do
|
101
|
+
@html.summary('Requested Date ', {'class' => 'h4'})
|
102
|
+
@html.section(:class => 'block') do
|
103
|
+
requestedDateClass.writeHtml(hRequirement[:requestedDate])
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
# expiry date
|
110
|
+
unless hRequirement[:expiryDate].nil?
|
111
|
+
@html.em('Expiry Date: ')
|
112
|
+
@html.text!(hRequirement[:expiryDate])
|
113
|
+
@html.br
|
114
|
+
end
|
115
|
+
|
116
|
+
# satisfied plan
|
117
|
+
unless hRequirement[:satisfiedPlans].empty?
|
118
|
+
@html.section(:class => 'block') do
|
119
|
+
@html.details do
|
120
|
+
@html.summary('Satisfied Plans', {'class' => 'h4'})
|
121
|
+
hRequirement[:satisfiedPlans].each do |plan|
|
122
|
+
@html.section(:class => 'block') do
|
123
|
+
@html.details do
|
124
|
+
@html.summary('Plan', {'class' => 'h5'})
|
125
|
+
planClass.writeHtml(plan)
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
end # writeHtml
|
134
|
+
end # Html_Requirement
|
135
|
+
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require_relative 'html_responsibility'
|
2
|
+
require_relative 'html_date'
|
3
|
+
|
4
|
+
module ADIWG
|
5
|
+
module Mdtranslator
|
6
|
+
module Writers
|
7
|
+
module Html
|
8
|
+
class Html_Revision
|
9
|
+
def initialize(html)
|
10
|
+
@html = html
|
11
|
+
end
|
12
|
+
|
13
|
+
def writeHtml(hRevision)
|
14
|
+
responsibilityClass = Html_Responsibility.new(@html)
|
15
|
+
dateClass = Html_Date.new(@html)
|
16
|
+
|
17
|
+
# description
|
18
|
+
unless hRevision[:description].nil?
|
19
|
+
@html.em('Description: ')
|
20
|
+
@html.text!(hRevision[:description])
|
21
|
+
@html.br
|
22
|
+
end
|
23
|
+
|
24
|
+
# responsibleParty
|
25
|
+
unless hRevision[:responsibleParty].empty?
|
26
|
+
@html.section(:class => 'block') do
|
27
|
+
@html.details do
|
28
|
+
@html.summary('Responsible Party', {'class' => 'h4'})
|
29
|
+
@html.section(:class => 'block') do
|
30
|
+
responsibilityClass.writeHtml(hRevision[:responsibleParty])
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# dateInfo
|
37
|
+
unless hRevision[:dateInfo].empty?
|
38
|
+
@html.section(:class => 'block') do
|
39
|
+
@html.details do
|
40
|
+
@html.summary('Date Info', {'class' => 'h4'})
|
41
|
+
hRevision[:dateInfo].each do |date|
|
42
|
+
@html.em('Datetime: ')
|
43
|
+
@html.text!(date[:dateTime].to_s)
|
44
|
+
@html.br
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -26,7 +26,6 @@ require_relative 'class_maintenance'
|
|
26
26
|
require_relative 'class_spatialRepresentation'
|
27
27
|
require_relative 'class_referenceSystem'
|
28
28
|
require_relative 'class_featureCatalog'
|
29
|
-
require_relative 'class_extension'
|
30
29
|
|
31
30
|
module ADIWG
|
32
31
|
module Mdtranslator
|
@@ -63,7 +62,6 @@ module ADIWG
|
|
63
62
|
representationClass = SpatialRepresentation.new(@xml, @hResponseObj)
|
64
63
|
referenceSystemClass = MD_ReferenceSystem.new(@xml, @hResponseObj)
|
65
64
|
mdCatalogClass = MD_FeatureCatalogue.new(@xml, @hResponseObj)
|
66
|
-
extensionClass = MD_MetadataExtensionInformation.new(@xml, @hResponseObj)
|
67
65
|
|
68
66
|
# create shortcuts to sections of internal object
|
69
67
|
hMetadata = intObj[:metadata]
|
@@ -293,31 +291,6 @@ module ADIWG
|
|
293
291
|
@xml.tag!('mdb:referenceSystemInfo')
|
294
292
|
end
|
295
293
|
|
296
|
-
taxonomyArray = hResInfo[:taxonomy]
|
297
|
-
unless taxonomyArray.empty?
|
298
|
-
# metadata information - metadata extension info
|
299
|
-
# add biological profile to all metadata records
|
300
|
-
intBio = intMetadataClass.newMetadataExtension
|
301
|
-
intBio[:name] = 'Taxonomy System'
|
302
|
-
intBio[:shortName] = 'TaxonSys'
|
303
|
-
intBio[:definition] = 'Documentation of taxonomic sources, procedures, and treatments'
|
304
|
-
intBio[:obligation] = 'optional'
|
305
|
-
intBio[:dataType] = 'class'
|
306
|
-
intBio[:maxOccurrence] = '1'
|
307
|
-
intBio[:parentEntities] << 'MD_Identification'
|
308
|
-
intBio[:rule] = 'New Metadata section as a class to MD_Identification'
|
309
|
-
intBio[:rationales] << 'The set of data elements contained within this class element ' +
|
310
|
-
'represents an attempt to provide better documentation of ' +
|
311
|
-
'taxonomic sources, procedures, and treatments.'
|
312
|
-
intBio[:sourceOrganization] = 'National Biological Information Infrastructure'
|
313
|
-
intBio[:sourceURI] = 'https://www2.usgs.gov/core_science_systems/Access/p1111-1.html'
|
314
|
-
intBio[:sourceRole] = 'author'
|
315
|
-
|
316
|
-
@xml.tag!('gmd:metadataExtensionInfo') do
|
317
|
-
extensionClass.writeXML(intBio)
|
318
|
-
end
|
319
|
-
end
|
320
|
-
|
321
294
|
# ###################### Begin Data Identification #####################
|
322
295
|
|
323
296
|
# metadata information - data identification info - required
|
@@ -65,7 +65,9 @@ module ADIWG
|
|
65
65
|
# if empty add indeterminatePosition="unknown"
|
66
66
|
unless hPeriod[:startDateTime].empty?
|
67
67
|
hDateTime = hPeriod[:startDateTime]
|
68
|
-
|
68
|
+
dateTime = hDateTime[:dateTime]
|
69
|
+
timeResolution = hDateTime[:dateResolution]
|
70
|
+
dateStr = AdiwgDateTimeFun.stringDateTimeFromDateTime(dateTime, timeResolution)
|
69
71
|
@xml.tag!('gml:beginPosition', dateStr)
|
70
72
|
end
|
71
73
|
if hPeriod[:startDateTime].empty?
|
@@ -77,7 +79,9 @@ module ADIWG
|
|
77
79
|
# if empty add indeterminatePosition="unknown"
|
78
80
|
unless hPeriod[:endDateTime].empty?
|
79
81
|
hDateTime = hPeriod[:endDateTime]
|
80
|
-
|
82
|
+
dateTime = hDateTime[:dateTime]
|
83
|
+
timeResolution = hDateTime[:dateResolution]
|
84
|
+
dateStr = AdiwgDateTimeFun.stringDateTimeFromDateTime(dateTime, timeResolution)
|
81
85
|
@xml.tag!('gml:endPosition', dateStr)
|
82
86
|
end
|
83
87
|
if hPeriod[:endDateTime].empty?
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
require_relative 'mdJson_scope'
|
3
|
+
require_relative 'mdJson_plan'
|
4
|
+
require_relative 'mdJson_requirement'
|
5
|
+
require_relative 'mdJson_objective'
|
6
|
+
require_relative 'mdJson_platform'
|
7
|
+
require_relative 'mdJson_instrument'
|
8
|
+
require_relative 'mdJson_operation'
|
9
|
+
require_relative 'mdJson_event'
|
10
|
+
require_relative 'mdJson_pass'
|
11
|
+
require_relative 'mdJson_environment'
|
12
|
+
|
13
|
+
module ADIWG
|
14
|
+
module Mdtranslator
|
15
|
+
module Writers
|
16
|
+
module MdJson
|
17
|
+
|
18
|
+
module Acquisition
|
19
|
+
|
20
|
+
@Namespace = ADIWG::Mdtranslator::Writers::MdJson
|
21
|
+
|
22
|
+
def self.build(hAcquisition)
|
23
|
+
|
24
|
+
Jbuilder.new do |json|
|
25
|
+
json.scope Scope.build(hAcquisition[:scope])
|
26
|
+
json.plan @Namespace.json_map(hAcquisition[:plans], Plan)
|
27
|
+
json.requirement @Namespace.json_map(hAcquisition[:requirements], Requirement)
|
28
|
+
json.objective @Namespace.json_map(hAcquisition[:objectives], Objective)
|
29
|
+
json.platform @Namespace.json_map(hAcquisition[:platforms], Platform)
|
30
|
+
json.instrument @Namespace.json_map(hAcquisition[:instruments], Instrument)
|
31
|
+
json.operation @Namespace.json_map(hAcquisition[:operations], Operation)
|
32
|
+
json.event @Namespace.json_map(hAcquisition[:events], Event)
|
33
|
+
json.pass @Namespace.json_map(hAcquisition[:passes], Pass)
|
34
|
+
json.environment Environment.build(hAcquisition[:environment])
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end # Acquisition
|
39
|
+
end # Event
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -24,7 +24,6 @@ module ADIWG
|
|
24
24
|
def self.build(hDictionary)
|
25
25
|
|
26
26
|
Jbuilder.new do |json|
|
27
|
-
json.dictionaryId hDictionary[:dictionaryId]
|
28
27
|
json.citation Citation.build(hDictionary[:citation]) unless hDictionary[:citation].empty?
|
29
28
|
json.description hDictionary[:description]
|
30
29
|
json.subject hDictionary[:subjects] unless hDictionary[:subjects].empty?
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
|
3
|
+
module ADIWG
|
4
|
+
module Mdtranslator
|
5
|
+
module Writers
|
6
|
+
module MdJson
|
7
|
+
|
8
|
+
module Environment
|
9
|
+
|
10
|
+
@Namespace = ADIWG::Mdtranslator::Writers::MdJson
|
11
|
+
|
12
|
+
def self.build(hEnvironment)
|
13
|
+
|
14
|
+
Jbuilder.new do |json|
|
15
|
+
json.averageAirTemperature hEnvironment[:averageAirTemperature] unless hEnvironment[:averageAirTemperature].nil?
|
16
|
+
json.maxRelativeHumidity hEnvironment[:maxRelativeHumidity] unless hEnvironment[:maxRelativeHumidity].nil?
|
17
|
+
json.maxAltitude hEnvironment[:maxAltitude] unless hEnvironment[:maxAltitude].nil?
|
18
|
+
json.meteorologicalConditions hEnvironment[:meteorologicalConditions] unless hEnvironment[:meteorologicalConditions].nil?
|
19
|
+
json.solarAzimuth hEnvironment[:solarAzimuth] unless hEnvironment[:solarAzimuth].nil?
|
20
|
+
json.solarElevation hEnvironment[:solarElevation] unless hEnvironment[:solarElevation].nil?
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end # Environment
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
require_relative 'mdJson_identifier'
|
3
|
+
require_relative 'mdJson_dateTime'
|
4
|
+
require_relative 'mdJson_objective'
|
5
|
+
require_relative 'mdJson_pass'
|
6
|
+
require_relative 'mdJson_instrument'
|
7
|
+
|
8
|
+
|
9
|
+
module ADIWG
|
10
|
+
module Mdtranslator
|
11
|
+
module Writers
|
12
|
+
module MdJson
|
13
|
+
|
14
|
+
module Event
|
15
|
+
|
16
|
+
@Namespace = ADIWG::Mdtranslator::Writers::MdJson
|
17
|
+
|
18
|
+
def self.build(hEvent)
|
19
|
+
|
20
|
+
Jbuilder.new do |json|
|
21
|
+
json.eventId hEvent[:eventId]
|
22
|
+
json.identifier Identifier.build(hEvent[:identifier])
|
23
|
+
json.trigger hEvent[:trigger]
|
24
|
+
json.context hEvent[:context]
|
25
|
+
json.sequence hEvent[:sequence]
|
26
|
+
json.time DateTime.build(hEvent[:time])
|
27
|
+
json.expectedObjective @Namespace.json_map(hEvent[:expectedObjectives], Objective)
|
28
|
+
json.relatedPass Pass.build(hEvent[:relatedPass])
|
29
|
+
json.relatedSensor @Namespace.json_map(hEvent[:relatedSensors], Instrument)
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end # Event
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
require_relative 'mdJson_citation'
|
3
|
+
require_relative 'mdJson_identifier'
|
4
|
+
require_relative 'mdJson_platform'
|
5
|
+
require_relative 'mdJson_instrumentationEventList'
|
6
|
+
|
7
|
+
module ADIWG
|
8
|
+
module Mdtranslator
|
9
|
+
module Writers
|
10
|
+
module MdJson
|
11
|
+
|
12
|
+
module Instrument
|
13
|
+
|
14
|
+
@Namespace = ADIWG::Mdtranslator::Writers::MdJson
|
15
|
+
|
16
|
+
def self.build(hInstrument)
|
17
|
+
|
18
|
+
Jbuilder.new do |json|
|
19
|
+
json.instrumentId hInstrument[:instrumentId]
|
20
|
+
json.citation Citation.build(hInstrument[:citation]) unless hInstrument[:citation].empty?
|
21
|
+
json.identifier Identifier.build(hInstrument[:identifier])
|
22
|
+
json.instrumentType hInstrument[:instrumentType]
|
23
|
+
json.description hInstrument[:description] unless hInstrument[:description].nil?
|
24
|
+
json.mountedOn Platform.build(hInstrument[:mountedOn]) unless hInstrument[:mountedOn].empty?
|
25
|
+
json.history @Namespace.json_map(hInstrument[:histories], InstrumentationEventList) unless hInstrument[:histories].empty?
|
26
|
+
json.hostId Identifier.build(hInstrument[:hostId]) unless hInstrument[:hostId].empty?
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
end # Instrument
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
require_relative 'mdJson_citation'
|
3
|
+
require_relative 'mdJson_revision'
|
4
|
+
|
5
|
+
module ADIWG
|
6
|
+
module Mdtranslator
|
7
|
+
module Writers
|
8
|
+
module MdJson
|
9
|
+
|
10
|
+
module InstrumentationEvent
|
11
|
+
|
12
|
+
@Namespace = ADIWG::Mdtranslator::Writers::MdJson
|
13
|
+
|
14
|
+
def self.build(hInstrumentationEvent)
|
15
|
+
# "required": ["description","eventType"],
|
16
|
+
Jbuilder.new do |json|
|
17
|
+
json.citation @Namespace.json_map(hInstrumentationEvent[:citations], Citation) unless hInstrumentationEvent[:citations].empty?
|
18
|
+
json.description hInstrumentationEvent[:description]
|
19
|
+
json.extent hInstrumentationEvent[:extent] unless hInstrumentationEvent[:extent].empty?
|
20
|
+
json.eventType hInstrumentationEvent[:eventType]
|
21
|
+
json.revisionHistory @Namespace.json_map(hInstrumentationEvent[:revisionHistories], Revision) unless hInstrumentationEvent[:revisionHistories].empty?
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end # InstrumentationEvent
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
require_relative 'mdJson_citation'
|
3
|
+
require_relative 'mdJson_locale'
|
4
|
+
require_relative 'mdJson_constraint'
|
5
|
+
require_relative 'mdJson_instrumentationEvent'
|
6
|
+
|
7
|
+
module ADIWG
|
8
|
+
module Mdtranslator
|
9
|
+
module Writers
|
10
|
+
module MdJson
|
11
|
+
|
12
|
+
module InstrumentationEventList
|
13
|
+
|
14
|
+
@Namespace = ADIWG::Mdtranslator::Writers::MdJson
|
15
|
+
|
16
|
+
def self.build(hInstrumentationEventList)
|
17
|
+
|
18
|
+
Jbuilder.new do |json|
|
19
|
+
json.citation Citation.build(hInstrumentationEventList[:citation]) unless hInstrumentationEventList[:citation].empty?
|
20
|
+
json.description hInstrumentationEventList[:description]
|
21
|
+
json.locale Locale.build(hInstrumentationEventList[:locale]) unless hInstrumentationEventList[:locale].empty?
|
22
|
+
json.constraints @Namespace.json_map(hInstrumentationEventList[:constraints], Constraint) unless hInstrumentationEventList[:constraints].empty?
|
23
|
+
json.instrumentationEvent @Namespace.json_map(hInstrumentationEventList[:instrumentationEvents], InstrumentationEvent) unless hInstrumentationEventList[:instrumentationEvents].empty?
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end # InstrumentationEventList
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -13,6 +13,7 @@ require_relative 'mdJson_associatedResource'
|
|
13
13
|
require_relative 'mdJson_additionalDocumentation'
|
14
14
|
require_relative 'mdJson_funding'
|
15
15
|
require_relative 'mdJson_dataQuality'
|
16
|
+
require_relative 'mdJson_acquisition'
|
16
17
|
|
17
18
|
module ADIWG
|
18
19
|
module Mdtranslator
|
@@ -34,6 +35,7 @@ module ADIWG
|
|
34
35
|
json.associatedResource @Namespace.json_map(hMetadata[:associatedResources], AssociatedResource)
|
35
36
|
json.additionalDocumentation @Namespace.json_map(hMetadata[:additionalDocuments], AdditionalDocument)
|
36
37
|
json.funding @Namespace.json_map(hMetadata[:funding], Funding)
|
38
|
+
json.acquisition @Namespace.json_map(hMetadata[:acquisitions], Acquisition)
|
37
39
|
end
|
38
40
|
|
39
41
|
end # build
|