adiwg-mdtranslator 2.3.0 → 2.3.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|