adiwg-mdtranslator 1.3.0 → 1.4.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.jsbeautifyrc +8 -0
- data/Rakefile +1 -3
- data/adiwg-mdtranslator.gemspec +2 -0
- data/bin/mdtranslator +2 -2
- data/lib/adiwg/mdtranslator.rb +2 -0
- data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +6 -3
- data/lib/adiwg/mdtranslator/internal/module_geoFormat.rb +183 -190
- data/lib/adiwg/mdtranslator/internal/module_lineString.rb +18 -0
- data/lib/adiwg/mdtranslator/internal/module_point.rb +18 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_contacts.rb +3 -1
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_geographicElement.rb +18 -10
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_additionalDocumentation.rb +52 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_boundingBox.rb +54 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_browseGraphic.rb +66 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_citation.rb +125 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_contacts.rb +144 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_dateTime.rb +31 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_distributionInfo.rb +64 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_extent.rb +61 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_geoCoordSystem.rb +50 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_geoProperties.rb +91 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_geographicElement.rb +161 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_metadata.rb +70 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_metadataInfo.rb +131 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_onlineResource.rb +71 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_resourceIdentifier.rb +73 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_resourceInfo.rb +437 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_responsibleParty.rb +53 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/module_sbJson.rb +52 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules_v0/version.rb +12 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/readme.md +12 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/sbJson_reader.rb +205 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/sbJson_validator.rb +44 -0
- data/lib/adiwg/mdtranslator/version.rb +1 -2
- data/lib/adiwg/mdtranslator/writers/html/sections/html_browseGraphic.rb +2 -1
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiGeometry.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_responsibleParty.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/mdJson/mdJson_writer.rb +42 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/readme.md +19 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_additionalDoc.rb +19 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_address.rb +22 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_associatedResource.rb +22 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_attribute.rb +27 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_base.rb +19 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_citation.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_constraint.rb +28 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_contact.rb +31 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_coverageInfo.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_coverageItem.rb +44 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQuality.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dateTime.rb +18 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dictionary.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_distributionInfo.rb +31 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_domain.rb +25 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entity.rb +37 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_extent.rb +26 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_format.rb +19 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_geographicElement.rb +81 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_graphicOverview.rb +20 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_gridInfo.rb +27 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_imageInfo.rb +28 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_keyword.rb +20 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_locale.rb +19 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadata.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadataInfo.rb +36 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_onlineResource.rb +21 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_phone.rb +19 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_processStep.rb +25 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceIdentifier.rb +23 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceInfo.rb +69 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceMaintenance.rb +23 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_responsibleParty.rb +18 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialreference.rb +19 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxon.rb +19 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxonomy.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_temporalElement.rb +38 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timePeriod.rb +20 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_transferOption.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_usage.rb +23 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_verticalElement.rb +20 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/version.rb +13 -0
- data/lib/adiwg/mdtranslator/writers/sbJson/readme.md +12 -0
- data/lib/adiwg/mdtranslator/writers/sbJson/sbJson_writer.rb +126 -0
- data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_base.rb +19 -0
- data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_contact.rb +42 -0
- data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_identifier.rb +22 -0
- data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_spatial.rb +49 -0
- data/lib/adiwg/mdtranslator/writers/sbJson/version.rb +13 -0
- data/test/readers/mdJson/v1/tc_reader_mdjson_translation.rb +83 -0
- data/test/readers/sbJson/v0/tc_reader_sbjson_translation.rb +79 -0
- data/test/readers/sbJson/v0/test.json +431 -0
- data/test/readers/sbJson/v0/test1.json +383 -0
- data/test/writers/mdJson/v1/tc_writer_mdJson.rb +60 -0
- data/test/writers/sbJson/v0/tc_writer_sbJson.rb +60 -0
- metadata +121 -7
- data/test/readers/mdJson/v1/tc_translation_19115_2.rb +0 -67
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
require_relative 'version'
|
3
|
+
require_relative 'sections/mdJson_contact'
|
4
|
+
require_relative 'sections/mdJson_metadata'
|
5
|
+
require_relative 'sections/mdJson_dictionary'
|
6
|
+
|
7
|
+
module ADIWG
|
8
|
+
module Mdtranslator
|
9
|
+
module Writers
|
10
|
+
module MdJson
|
11
|
+
def self.startWriter(_intObj, responseObj, _paramsObj)
|
12
|
+
#set output flag for null properties
|
13
|
+
Jbuilder::ignore_nil(!responseObj[:writerShowTags])
|
14
|
+
# set the format of the output file based on the writer specified
|
15
|
+
responseObj[:writerFormat] = 'mdJson'
|
16
|
+
responseObj[:writerVersion] = ADIWG::Mdtranslator::Writers::MdJson::VERSION
|
17
|
+
|
18
|
+
# version
|
19
|
+
metadata = Jbuilder.new do |json|
|
20
|
+
json.version do
|
21
|
+
json.name 'mdJson'
|
22
|
+
json.version responseObj[:writerVersion]
|
23
|
+
end
|
24
|
+
|
25
|
+
json.contact _intObj[:contacts].map { |obj| Contact.build(obj).attributes!}
|
26
|
+
json.metadata Metadata.build(_intObj[:metadata])
|
27
|
+
json.dataDictionary _intObj[:dataDictionary].map { |obj| Dictionary.build(obj).attributes!}
|
28
|
+
end
|
29
|
+
|
30
|
+
# set writer pass to true if no messages
|
31
|
+
# false or warning will be set by code that places the message
|
32
|
+
responseObj[:writerPass] = true if responseObj[:writerMessages].empty?
|
33
|
+
|
34
|
+
# j = JSON.parse(metadata.target!)
|
35
|
+
# puts JSON.pretty_generate(j)
|
36
|
+
|
37
|
+
metadata.target!
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
|
2
|
+
## mdJson
|
3
|
+
|
4
|
+
### Supported versions
|
5
|
+
|
6
|
+
> 1.1.x
|
7
|
+
|
8
|
+
### Writer for ADIwg JSON metadata format (mdJson)
|
9
|
+
|
10
|
+
The mdJson format is a simple JSON format for documenting and exchanging information
|
11
|
+
about scientific projects and data. The Alaska Data Integration working group (ADIwg) wrote the
|
12
|
+
standard to support translation to complex standards such as the ISO 19115-2 Geographic Metadata standard
|
13
|
+
and FGDC's Content Standard for Digital Geospatial Metadata. The mdJson standard
|
14
|
+
remains independent of any published standards while comprehensive enough to support translation
|
15
|
+
to many. The mdJson standard is also a convenient format to exchange directly with other organizations as
|
16
|
+
the JSON structure is easier create and ingest by programming languages.
|
17
|
+
|
18
|
+
The mdJson format is fully documented on the interactive
|
19
|
+
[mdTools](http://www.adiwg.org/mdTools) website.
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
require_relative 'mdJson_citation'
|
3
|
+
|
4
|
+
module ADIWG
|
5
|
+
module Mdtranslator
|
6
|
+
module Writers
|
7
|
+
module MdJson
|
8
|
+
module AdditionalDoc
|
9
|
+
def self.build(intObj)
|
10
|
+
Jbuilder.new do |json|
|
11
|
+
json.resourceType intObj[:resourceType]
|
12
|
+
json.citation Citation.build(intObj[:citation]) unless intObj[:citation].empty?
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
|
3
|
+
module ADIWG
|
4
|
+
module Mdtranslator
|
5
|
+
module Writers
|
6
|
+
module MdJson
|
7
|
+
module Address
|
8
|
+
def self.build(intObj)
|
9
|
+
Jbuilder.new do |json|
|
10
|
+
json.deliveryPoint(intObj[:deliveryPoints])
|
11
|
+
json.protocol intObj[:city]
|
12
|
+
json.name intObj[:adminArea]
|
13
|
+
json.description intObj[:postalCode]
|
14
|
+
json.function intObj[:country]
|
15
|
+
json.electronicMailAddress(intObj[:eMailList])
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
require_relative 'mdJson_citation'
|
3
|
+
|
4
|
+
module ADIWG
|
5
|
+
module Mdtranslator
|
6
|
+
module Writers
|
7
|
+
module MdJson
|
8
|
+
module AssociatedResource
|
9
|
+
def self.build(intObj)
|
10
|
+
Jbuilder.new do |json|
|
11
|
+
json.associationType intObj[:associationType]
|
12
|
+
json.initiativeType intObj[:initiativeType]
|
13
|
+
json.resourceType intObj[:resourceType]
|
14
|
+
json.resourceCitation Citation.build(intObj[:resourceCitation]) unless intObj[:resourceCitation].empty?
|
15
|
+
json.metadataCitation Citation.build(intObj[:metadataCitation]) unless intObj[:metadataCitation].empty?
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
|
3
|
+
module ADIWG
|
4
|
+
module Mdtranslator
|
5
|
+
module Writers
|
6
|
+
module MdJson
|
7
|
+
module Attribute
|
8
|
+
def self.build(intObj)
|
9
|
+
Jbuilder.new do |json|
|
10
|
+
json.commonName intObj[:attributeName]
|
11
|
+
json.codeName intObj[:attributeCode]
|
12
|
+
json.alias (intObj[:attributeAlias])
|
13
|
+
json.definition intObj[:attributeDefinition]
|
14
|
+
json.dataType intObj[:dataType]
|
15
|
+
json.allowNull intObj[:allowNull]
|
16
|
+
json.units intObj[:unitOfMeasure]
|
17
|
+
json.domainId intObj[:domainId]
|
18
|
+
json.minValue intObj[:minValue]
|
19
|
+
json.maxValue intObj[:maxValue]
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
|
3
|
+
module ADIWG
|
4
|
+
module Mdtranslator
|
5
|
+
module Writers
|
6
|
+
module MdJson
|
7
|
+
module Base
|
8
|
+
def json_map(collection = [], _class)
|
9
|
+
if collection.nil? || collection.empty?
|
10
|
+
return nil
|
11
|
+
else
|
12
|
+
collection.map { |item| _class.build(item).attributes! }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
require_relative 'mdJson_base'
|
3
|
+
require_relative 'mdJson_resourceIdentifier'
|
4
|
+
require_relative 'mdJson_onlineResource'
|
5
|
+
require_relative 'mdJson_dateTime'
|
6
|
+
require_relative 'mdJson_responsibleParty'
|
7
|
+
|
8
|
+
module ADIWG
|
9
|
+
module Mdtranslator
|
10
|
+
module Writers
|
11
|
+
module MdJson
|
12
|
+
module Citation
|
13
|
+
extend MdJson::Base
|
14
|
+
|
15
|
+
def self.build(cite)
|
16
|
+
unless cite.nil? || cite.empty?
|
17
|
+
Jbuilder.new do |json|
|
18
|
+
json.title cite[:citTitle]
|
19
|
+
json.alternateTitle cite[:citAltTitle]
|
20
|
+
json.date json_map(cite[:citDate], DateTime)
|
21
|
+
json.edition cite[:citEdition]
|
22
|
+
json.identifier json_map(cite[:citResourceIds], ResourceIdentifier)
|
23
|
+
json.responsibleParty json_map(cite[:citResponsibleParty], ResponsibleParty)
|
24
|
+
json.presentationForm(cite[:citResourceForms]) unless cite[:citResourceForms].empty?
|
25
|
+
json.onlineResource json_map(cite[:citOlResources], OnlineResource)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
|
3
|
+
module ADIWG
|
4
|
+
module Mdtranslator
|
5
|
+
module Writers
|
6
|
+
module MdJson
|
7
|
+
module Constraint
|
8
|
+
def self.build(use, legal, security)
|
9
|
+
Jbuilder.new do |json|
|
10
|
+
json.useLimitation(use)
|
11
|
+
json.legalConstraint(legal) do |lg|
|
12
|
+
json.accessConstraint(lg[:accessCodes])
|
13
|
+
json.useConstraint(lg[:useCodes])
|
14
|
+
json.otherConstraint(lg[:otherCons])
|
15
|
+
end
|
16
|
+
json.securityConstraint(security) do |sc|
|
17
|
+
json.classification sc[:classCode]
|
18
|
+
json.userNote sc[:userNote]
|
19
|
+
json.classificationSystem sc[:classSystem]
|
20
|
+
json.handlingDescription sc[:handlingDesc]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
require_relative 'mdJson_base'
|
3
|
+
require_relative 'mdJson_onlineResource'
|
4
|
+
require_relative 'mdJson_phone'
|
5
|
+
require_relative 'mdJson_address'
|
6
|
+
|
7
|
+
module ADIWG
|
8
|
+
module Mdtranslator
|
9
|
+
module Writers
|
10
|
+
module MdJson
|
11
|
+
module Contact
|
12
|
+
extend MdJson::Base
|
13
|
+
|
14
|
+
def self.build(contact)
|
15
|
+
Jbuilder.new do |json|
|
16
|
+
# contact
|
17
|
+
json.contactId contact[:contactId]
|
18
|
+
json.individualName contact[:indName]
|
19
|
+
json.organizationName contact[:orgName]
|
20
|
+
json.positionName contact[:position]
|
21
|
+
json.onlineResource json_map(contact[:onlineRes], OnlineResource)
|
22
|
+
json.contactInstructions contact[:contactInstructions]
|
23
|
+
json.phoneBook json_map(contact[:phones], Phone)
|
24
|
+
json.address Address.build(contact[:address])
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
require_relative 'mdJson_base'
|
3
|
+
require_relative 'mdJson_resourceIdentifier'
|
4
|
+
require_relative 'mdJson_coverageItem'
|
5
|
+
require_relative 'mdJson_imageInfo'
|
6
|
+
|
7
|
+
module ADIWG
|
8
|
+
module Mdtranslator
|
9
|
+
module Writers
|
10
|
+
module MdJson
|
11
|
+
module CoverageInfo
|
12
|
+
extend MdJson::Base
|
13
|
+
|
14
|
+
def self.build(intObj)
|
15
|
+
unless intObj.empty?
|
16
|
+
Jbuilder.new do |json|
|
17
|
+
json.coverageType intObj[:coverageType]
|
18
|
+
json.coverageName intObj[:coverageName]
|
19
|
+
json.coverageDescription intObj[:coverageDescription]
|
20
|
+
json.processingLevel ResourceIdentifier.build(intObj[:processingLevel]) unless intObj[:processingLevel].empty?
|
21
|
+
json.coverageItem json_map(intObj[:coverageItems], CoverageItem)
|
22
|
+
json.imageInfo ImageInfo.build(intObj[:imageInfo]) unless intObj[:imageInfo].empty?
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
|
3
|
+
module ADIWG
|
4
|
+
module Mdtranslator
|
5
|
+
module Writers
|
6
|
+
module MdJson
|
7
|
+
module CoverageItem
|
8
|
+
def self.build(intObj)
|
9
|
+
Jbuilder.new do |json|
|
10
|
+
json.itemName intObj[:itemName]
|
11
|
+
json.itemType intObj[:itemType]
|
12
|
+
json.itemDescription intObj[:itemDescription]
|
13
|
+
json.minValue intObj[:minValue]
|
14
|
+
json.maxValue intObj[:maxValue]
|
15
|
+
json.units intObj[:units]
|
16
|
+
json.scaleFactor intObj[:scaleFactor]
|
17
|
+
json.offset intObj[:offset]
|
18
|
+
json.meanValue intObj[:meanValue]
|
19
|
+
json.standardDeviation intObj[:standardDeviation]
|
20
|
+
json.bitsPerValue intObj[:bitsPerValue]
|
21
|
+
json.classifiedData do
|
22
|
+
cd = intObj[:classedData]
|
23
|
+
json.numberOfClasses cd[:numberOfClasses]
|
24
|
+
json.classifiedDataItem(cd[:classedDataItems]) do |cdi|
|
25
|
+
json.className cdi[:className]
|
26
|
+
json.classDescription cdi[:classDescription]
|
27
|
+
json.classValue cdi[:classValue]
|
28
|
+
end
|
29
|
+
end unless intObj[:classedData].empty?
|
30
|
+
json.sensorInfo do
|
31
|
+
si = intObj[:sensorInfo]
|
32
|
+
json.toneGradations si[:toneGradations]
|
33
|
+
json.sensorMin si[:sensorMin]
|
34
|
+
json.sensorMax si[:sensorMax]
|
35
|
+
json.sensorUnits si[:sensorUnits]
|
36
|
+
json.sensorPeakResponse si[:sensorPeakResponse]
|
37
|
+
end unless intObj[:sensorInfo].empty?
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
require_relative 'mdJson_base'
|
3
|
+
require_relative 'mdJson_citation'
|
4
|
+
require_relative 'mdJson_processStep'
|
5
|
+
|
6
|
+
module ADIWG
|
7
|
+
module Mdtranslator
|
8
|
+
module Writers
|
9
|
+
module MdJson
|
10
|
+
module DataQuality
|
11
|
+
extend MdJson::Base
|
12
|
+
|
13
|
+
def self.build(intObj)
|
14
|
+
Jbuilder.new do |json|
|
15
|
+
json.scope intObj[:dataScope]
|
16
|
+
json.lineage do
|
17
|
+
ln = intObj[:dataLineage]
|
18
|
+
json.statement ln[:statement]
|
19
|
+
json.processStep json_map(ln[:processSteps], ProcessStep)
|
20
|
+
json.source(ln[:dataSources]) do |src|
|
21
|
+
json.description src[:sourceDescription]
|
22
|
+
json.citation Citation.build(src[:sourceCitation]) unless src[:sourceCitation].empty?
|
23
|
+
json.processStep json_map(src[:sourceSteps], ProcessStep) unless src[:sourceSteps].empty?
|
24
|
+
end unless ln[:dataSources].empty?
|
25
|
+
end unless intObj[:dataLineage].empty?
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
|
3
|
+
module ADIWG
|
4
|
+
module Mdtranslator
|
5
|
+
module Writers
|
6
|
+
module MdJson
|
7
|
+
module DateTime
|
8
|
+
def self.build(intObj)
|
9
|
+
Jbuilder.new do |json|
|
10
|
+
json.date(intObj[:dateTime])
|
11
|
+
json.dateType intObj[:dateType]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
|
3
|
+
require_relative 'mdJson_base'
|
4
|
+
require_relative 'mdJson_citation'
|
5
|
+
require_relative 'mdJson_domain'
|
6
|
+
require_relative 'mdJson_entity'
|
7
|
+
|
8
|
+
module ADIWG
|
9
|
+
module Mdtranslator
|
10
|
+
module Writers
|
11
|
+
module MdJson
|
12
|
+
module Dictionary
|
13
|
+
extend MdJson::Base
|
14
|
+
|
15
|
+
def self.build(intObj)
|
16
|
+
Jbuilder.new do |json|
|
17
|
+
json.dictionaryInfo do
|
18
|
+
dict = intObj[:dictionaryInfo]
|
19
|
+
json.citation Citation.build(dict[:dictCitation])
|
20
|
+
json.resourceType dict[:dictResourceType]
|
21
|
+
json.description dict[:dictDescription]
|
22
|
+
json.language dict[:dictLanguage]
|
23
|
+
json.includedWithDataset dict[:includedWithDataset]
|
24
|
+
end unless intObj[:dictionaryInfo].empty?
|
25
|
+
json.domain json_map(intObj[:domains], Domain)
|
26
|
+
json.entity json_map(intObj[:entities], Entity)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'jbuilder'
|
2
|
+
require_relative 'mdJson_base'
|
3
|
+
require_relative 'mdJson_responsibleParty'
|
4
|
+
require_relative 'mdJson_format'
|
5
|
+
require_relative 'mdJson_transferOption'
|
6
|
+
|
7
|
+
module ADIWG
|
8
|
+
module Mdtranslator
|
9
|
+
module Writers
|
10
|
+
module MdJson
|
11
|
+
module DistributionInfo
|
12
|
+
extend MdJson::Base
|
13
|
+
|
14
|
+
def self.build(intObj)
|
15
|
+
Jbuilder.new do |json|
|
16
|
+
json.distributorContact ResponsibleParty.build(intObj[:distContact])
|
17
|
+
json.distributionOrderProcess(intObj[:distOrderProcs]) do |dpo|
|
18
|
+
json.fees dpo[:fees]
|
19
|
+
json.plannedAvailabilityDateTime dpo[:plannedDateTime][:dateTime] unless dpo[:plannedDateTime].nil?
|
20
|
+
json.orderingInstructions dpo[:orderInstructions]
|
21
|
+
json.turnaround dpo[:turnaround]
|
22
|
+
end unless intObj[:distOrderProcs].empty?
|
23
|
+
json.distributorFormat json_map(intObj[:distFormats], Format)
|
24
|
+
json.distributorTransferOptions json_map(intObj[:distTransOptions], TransferOption)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|