adiwg-mdtranslator 2.3.0 → 2.3.1
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/lib/adiwg/mdtranslator/readers/fgdc/modules/module_entity.rb +4 -0
- data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_spatialDomain.rb +14 -14
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_contact.rb +9 -7
- data/lib/adiwg/mdtranslator/version.rb +2 -1
- data/lib/adiwg/mdtranslator/writers/html/sections/html_allocation.rb +10 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c76bab7a13d123b87ccc5b186b838330dd5dcd08
|
|
4
|
+
data.tar.gz: 83e0218e6a5ea373d2b9283ca61d72a32a840dd5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 666c6243ff33753bd0d73f29097d707464d5cf0ffe04f2ac4c7b64a9dde97e5c523d22755a5a79aa04d17f960c034104bff16e2761e965540144edcc763072e4
|
|
7
|
+
data.tar.gz: 5b88078e37e97f0f6ed0327e6c71be0f90fbf0a56c3c777e99b0b337ee0a5d83a4e1c988bead13d0f599b257aef32be0f2035450b3d5253f97819255a828d2d0
|
|
@@ -22,7 +22,11 @@ module ADIWG
|
|
|
22
22
|
intMetadataClass = InternalMetadata.new
|
|
23
23
|
|
|
24
24
|
# entity attribute 5.1.1 (enttype) - definition and description set
|
|
25
|
+
# also search for (enttyp); Metavist and USGS fgdc validator use 'enttyp'
|
|
25
26
|
xEntity = xDetail.xpath('./enttype')
|
|
27
|
+
if xEntity.empty?
|
|
28
|
+
xEntity = xDetail.xpath('./enttyp')
|
|
29
|
+
end
|
|
26
30
|
unless xEntity.empty?
|
|
27
31
|
|
|
28
32
|
hEntity = intMetadataClass.newEntity
|
|
@@ -61,6 +61,7 @@ module ADIWG
|
|
|
61
61
|
intMetadataClass = InternalMetadata.new
|
|
62
62
|
hExtent = intMetadataClass.newExtent
|
|
63
63
|
hGeoExtent = intMetadataClass.newGeographicExtent
|
|
64
|
+
hExtent[:geographicExtents] << hGeoExtent
|
|
64
65
|
|
|
65
66
|
# spatial domain 1.5.1 (bounding) - bounding box
|
|
66
67
|
xBbox = xDomain.xpath('./bounding')
|
|
@@ -127,27 +128,27 @@ module ADIWG
|
|
|
127
128
|
|
|
128
129
|
# make geoJson FeatureCollection from polygon
|
|
129
130
|
hGeometry = {
|
|
130
|
-
type
|
|
131
|
-
coordinates
|
|
131
|
+
'type' => 'Polygon',
|
|
132
|
+
'coordinates' => polygon
|
|
132
133
|
}
|
|
133
134
|
hFeature = {
|
|
134
|
-
type
|
|
135
|
-
geometry
|
|
136
|
-
properties
|
|
137
|
-
description
|
|
135
|
+
'type' => 'Feature',
|
|
136
|
+
'geometry' => hGeometry,
|
|
137
|
+
'properties' => {
|
|
138
|
+
'description' => 'FGDC bounding polygon'
|
|
138
139
|
}
|
|
139
140
|
}
|
|
140
141
|
hCollection = {
|
|
141
|
-
type
|
|
142
|
-
features
|
|
142
|
+
'type' => 'FeatureCollection',
|
|
143
|
+
'features' => [hFeature]
|
|
143
144
|
}
|
|
144
|
-
geoJson = hCollection
|
|
145
|
+
geoJson = hCollection
|
|
145
146
|
|
|
146
147
|
# make internal geometries from polygon
|
|
147
148
|
hIntGeo = intMetadataClass.newGeometryObject
|
|
148
149
|
hIntGeo[:type] = 'Polygon'
|
|
149
150
|
hIntGeo[:coordinates] = polygon
|
|
150
|
-
hIntGeo[:nativeGeoJson] = hGeometry
|
|
151
|
+
hIntGeo[:nativeGeoJson] = hGeometry
|
|
151
152
|
|
|
152
153
|
hIntProps = intMetadataClass.newGeometryProperties
|
|
153
154
|
hIntProps[:description] = 'FGDC bounding polygon'
|
|
@@ -155,18 +156,17 @@ module ADIWG
|
|
|
155
156
|
hIntFeature = intMetadataClass.newGeometryFeature
|
|
156
157
|
hIntFeature[:type] = 'Feature'
|
|
157
158
|
hIntFeature[:geometryObject] = hIntGeo
|
|
158
|
-
hIntFeature[:nativeGeoJson] = hFeature
|
|
159
|
+
hIntFeature[:nativeGeoJson] = hFeature
|
|
159
160
|
hIntFeature[:properties] = hIntProps
|
|
160
161
|
|
|
161
162
|
hIntCollect = intMetadataClass.newFeatureCollection
|
|
162
163
|
hIntCollect[:type] = 'FeatureCollection'
|
|
163
164
|
hIntCollect[:features] << hIntFeature
|
|
164
|
-
hIntCollect[:nativeGeoJson] = hCollection
|
|
165
|
+
hIntCollect[:nativeGeoJson] = hCollection
|
|
165
166
|
|
|
166
167
|
hGeoExtent[:geographicElements] << hIntCollect
|
|
167
|
-
hGeoExtent[:nativeGeoJson]
|
|
168
|
+
hGeoExtent[:nativeGeoJson] << geoJson
|
|
168
169
|
|
|
169
|
-
hExtent[:geographicExtents] << hGeoExtent
|
|
170
170
|
hExtent[:description] = 'FGDC spatial domain'
|
|
171
171
|
|
|
172
172
|
end
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
# Reader - ScienceBase JSON to internal data structure
|
|
3
3
|
|
|
4
4
|
# History:
|
|
5
|
-
#
|
|
5
|
+
# Stan Smith 2017-09-13 remove fail restriction on contactType
|
|
6
|
+
# Stan Smith 2016-06-21 original script
|
|
6
7
|
|
|
7
8
|
require 'uuidtools'
|
|
8
9
|
require 'adiwg/mdtranslator/internal/internal_metadata_obj'
|
|
@@ -65,20 +66,21 @@ module ADIWG
|
|
|
65
66
|
|
|
66
67
|
hContact[:contactId] = UUIDTools::UUID.random_create.to_s
|
|
67
68
|
|
|
68
|
-
# contact - contactType
|
|
69
|
+
# contact - contactType [ person | organization ]
|
|
69
70
|
if hSbContact.has_key?('contactType')
|
|
70
|
-
if
|
|
71
|
+
if hSbContact['contactType'].nil? || hSbContact['contactType'] == ''
|
|
72
|
+
hResponseObj[:readerExecutionMessages] << 'Contact contactType is missing'
|
|
73
|
+
hContact[:isOrganization] = false
|
|
74
|
+
elsif %w(person organization).include?(hSbContact['contactType'])
|
|
71
75
|
hContact[:isOrganization] = true if hSbContact['contactType'] == 'organization'
|
|
72
76
|
else
|
|
73
77
|
hResponseObj[:readerExecutionMessages] << 'Contact contactType must be person or organization'
|
|
74
78
|
hResponseObj[:readerExecutionPass] = false
|
|
75
79
|
return nil
|
|
76
80
|
end
|
|
77
|
-
|
|
78
|
-
if hSbContact['contactType'].nil? || hSbContact['contactType'] == ''
|
|
81
|
+
else
|
|
79
82
|
hResponseObj[:readerExecutionMessages] << 'Contact contactType is missing'
|
|
80
|
-
|
|
81
|
-
return nil
|
|
83
|
+
hContact[:isOrganization] = false
|
|
82
84
|
end
|
|
83
85
|
|
|
84
86
|
# contact - name (required)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# adiwg mdTranslator
|
|
2
2
|
|
|
3
3
|
# version 2 history
|
|
4
|
+
# 2.3.1 2017-09-13 fixed fgdc reader: removed conversion of hash to json
|
|
4
5
|
# 2.3.0 2017-09-11 add fgdc 1998 CSDGM reader
|
|
5
6
|
# 2.2.0 2017-08-31 refactor for schema changes to Lineage and Funding
|
|
6
7
|
# 2.1.2 2017-08-24 remove schema version from sbJson
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
module ADIWG
|
|
26
27
|
module Mdtranslator
|
|
27
28
|
# current mdtranslator version
|
|
28
|
-
VERSION = "2.3.
|
|
29
|
+
VERSION = "2.3.1"
|
|
29
30
|
end
|
|
30
31
|
end
|
|
31
32
|
|
|
@@ -48,7 +48,11 @@ module ADIWG
|
|
|
48
48
|
unless hAllocation[:sourceId].nil?
|
|
49
49
|
hContact = Html_Document.getContact(hAllocation[:sourceId])
|
|
50
50
|
@html.em('Source Contact: ')
|
|
51
|
-
|
|
51
|
+
if hContact.empty?
|
|
52
|
+
@html.text!("Contact #{hAllocation[:sourceId]} not found!")
|
|
53
|
+
else
|
|
54
|
+
@html.a(hContact[:contactId], 'href' => '#CID_'+hContact[:contactId])
|
|
55
|
+
end
|
|
52
56
|
@html.br
|
|
53
57
|
end
|
|
54
58
|
|
|
@@ -56,7 +60,11 @@ module ADIWG
|
|
|
56
60
|
unless hAllocation[:recipientId].nil?
|
|
57
61
|
hContact = Html_Document.getContact(hAllocation[:recipientId])
|
|
58
62
|
@html.em('Recipient Contact: ')
|
|
59
|
-
|
|
63
|
+
if hContact.empty?
|
|
64
|
+
@html.text!("Contact #{hAllocation[:recipientId]} not found!")
|
|
65
|
+
else
|
|
66
|
+
@html.a(hContact[:contactId], 'href' => '#CID_'+hContact[:contactId])
|
|
67
|
+
end
|
|
60
68
|
@html.br
|
|
61
69
|
end
|
|
62
70
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: adiwg-mdtranslator
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.3.
|
|
4
|
+
version: 2.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Stan Smith
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2017-09-
|
|
12
|
+
date: 2017-09-14 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bundler
|