adiwg-mdtranslator 2.0.0rc13 → 2.0.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/lib/adiwg/mdtranslator/readers/sbJson/modules/module_browseCategory.rb +47 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_budget.rb +79 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_contact.rb +248 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_date.rb +49 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_extent.rb +62 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_id.rb +10 -3
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_identifier.rb +17 -15
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_materialRequest.rb +72 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_parentId.rb +44 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_project.rb +48 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_publication.rb +77 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_sbJson.rb +90 -7
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_spatial.rb +56 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_tag.rb +125 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_webLinkDocument.rb +99 -0
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_webLinkGraphic.rb +92 -0
- data/lib/adiwg/mdtranslator/version.rb +2 -1
- data/lib/adiwg/mdtranslator/writers/html/sections/html_bodyScript.js +6 -1
- data/lib/adiwg/mdtranslator/writers/html/sections/html_citation.rb +6 -2
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_fcFeatureCatalogue.rb +1 -2
- data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_budget.rb +29 -2
- data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_codelists.rb +0 -1
- data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_contact.rb +7 -1
- metadata +18 -22
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_additionalDocumentation.rb +0 -52
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_boundingBox.rb +0 -54
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_browseGraphic.rb +0 -66
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_citation.rb +0 -125
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_contacts.rb +0 -143
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_dateTime.rb +0 -31
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_distributionInfo.rb +0 -64
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_extent.rb +0 -61
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_geoCoordSystem.rb +0 -50
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_geoProperties.rb +0 -91
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_geographicElement.rb +0 -161
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_metadata.rb +0 -75
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_metadataInfo.rb +0 -130
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_onlineResource.rb +0 -71
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_resourceIdentifier.rb +0 -73
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_resourceInfo.rb +0 -437
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/Old/module_responsibleParty.rb +0 -53
@@ -4,6 +4,8 @@
|
|
4
4
|
# History:
|
5
5
|
# Stan Smith 2016-06-14 original script
|
6
6
|
|
7
|
+
require 'adiwg/mdtranslator/internal/internal_metadata_obj'
|
8
|
+
|
7
9
|
module ADIWG
|
8
10
|
module Mdtranslator
|
9
11
|
module Readers
|
@@ -11,19 +13,24 @@ module ADIWG
|
|
11
13
|
|
12
14
|
module Id
|
13
15
|
|
14
|
-
def self.unpack(hSbJson,
|
16
|
+
def self.unpack(hSbJson, hResponseObj)
|
17
|
+
|
18
|
+
# instance classes needed in script
|
19
|
+
intMetadataClass = InternalMetadata.new
|
15
20
|
|
16
|
-
# title
|
17
21
|
if hSbJson.has_key?('id')
|
22
|
+
hIdentifier = intMetadataClass.newIdentifier
|
23
|
+
|
18
24
|
sbId = hSbJson['id']
|
19
25
|
unless sbId.nil? || sbId == ''
|
20
26
|
hIdentifier[:identifier] = sbId
|
21
27
|
hIdentifier[:namespace] = 'gov.sciencebase.catalog'
|
22
28
|
hIdentifier[:description] = 'USGS ScienceBase Identifier'
|
29
|
+
return hIdentifier
|
23
30
|
end
|
24
31
|
end
|
25
32
|
|
26
|
-
return
|
33
|
+
return nil
|
27
34
|
|
28
35
|
end
|
29
36
|
|
@@ -13,25 +13,27 @@ module ADIWG
|
|
13
13
|
|
14
14
|
module Identifier
|
15
15
|
|
16
|
-
# instance classes needed in script
|
17
|
-
@intMetadataClass = InternalMetadata.new
|
18
|
-
|
19
16
|
def self.unpack(hSbJson, hCitation, hResponseObj)
|
20
17
|
|
21
|
-
|
22
|
-
|
18
|
+
# instance classes needed in script
|
19
|
+
intMetadataClass = InternalMetadata.new
|
23
20
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
21
|
+
if hSbJson.has_key?('identifiers')
|
22
|
+
hSbJson['identifiers'].each_with_index do |hSbIdentifier, i|
|
23
|
+
hIdentifier = intMetadataClass.newIdentifier
|
24
|
+
|
25
|
+
unless hSbIdentifier['type'].nil? || hSbIdentifier['type'] == ''
|
26
|
+
hIdentifier[:description] = hSbIdentifier['type']
|
27
|
+
end
|
28
|
+
unless hSbIdentifier['scheme'].nil? || hSbIdentifier['scheme'] == ''
|
29
|
+
hIdentifier[:namespace] = hSbIdentifier['scheme']
|
30
|
+
end
|
31
|
+
unless hSbIdentifier['key'].nil? || hSbIdentifier['key'] == ''
|
32
|
+
hIdentifier[:identifier] = hSbIdentifier['key']
|
33
|
+
end
|
33
34
|
|
34
|
-
|
35
|
+
hCitation[:identifiers] << hIdentifier
|
36
|
+
end
|
35
37
|
end
|
36
38
|
|
37
39
|
return hCitation
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# unpack material request instructions
|
2
|
+
# Reader - ScienceBase JSON to internal data structure
|
3
|
+
|
4
|
+
# History:
|
5
|
+
# Stan Smith 2016-06-21 original script
|
6
|
+
|
7
|
+
require 'uuidtools'
|
8
|
+
require 'adiwg/mdtranslator/internal/internal_metadata_obj'
|
9
|
+
|
10
|
+
module ADIWG
|
11
|
+
module Mdtranslator
|
12
|
+
module Readers
|
13
|
+
module SbJson
|
14
|
+
|
15
|
+
module MaterialRequest
|
16
|
+
|
17
|
+
def self.unpack(hSbJson, hResponseObj)
|
18
|
+
|
19
|
+
# instance classes needed in script
|
20
|
+
intMetadataClass = InternalMetadata.new
|
21
|
+
|
22
|
+
if hSbJson.has_key?('materialRequestInstructions')
|
23
|
+
sbRequest = hSbJson['materialRequestInstructions']
|
24
|
+
unless sbRequest.nil? || sbRequest == ''
|
25
|
+
|
26
|
+
# make a new request contact
|
27
|
+
hContact = intMetadataClass.newContact
|
28
|
+
hContact[:contactId] = UUIDTools::UUID.random_create.to_s
|
29
|
+
hContact[:name] = 'U.S. Geological Survey ScienceBase'
|
30
|
+
hContact[:contactType] = 'materialRequestInstructions'
|
31
|
+
|
32
|
+
# make a new distribution record
|
33
|
+
hDistribution = intMetadataClass.newDistribution
|
34
|
+
hDistributor = intMetadataClass.newDistributor
|
35
|
+
hResponsibility = intMetadataClass.newResponsibility
|
36
|
+
hParty = intMetadataClass.newParty
|
37
|
+
hProcess = intMetadataClass.newOrderProcess
|
38
|
+
|
39
|
+
# parties [] {party}
|
40
|
+
hParty[:contactId] = hContact[:contactId]
|
41
|
+
hParty[:contactType] = 'ScienceBase'
|
42
|
+
|
43
|
+
# contact {responsibility}
|
44
|
+
hResponsibility[:roleName] = 'distributor'
|
45
|
+
hResponsibility[:parties] << hParty
|
46
|
+
|
47
|
+
# orderProcess {orderProcess}
|
48
|
+
hProcess[:orderingInstructions] = sbRequest
|
49
|
+
|
50
|
+
# distributor {distributor}
|
51
|
+
hDistributor[:contact] = hResponsibility
|
52
|
+
hDistributor[:orderProcess] << hProcess
|
53
|
+
|
54
|
+
# distribution {distribution}
|
55
|
+
hDistribution[:description] = 'sbJson Material Request distributor generated by ADIwg mdTranslator'
|
56
|
+
hDistribution[:distributor] << hDistributor
|
57
|
+
|
58
|
+
return hContact, hDistribution
|
59
|
+
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
return nil
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# unpack parent id
|
2
|
+
# Reader - ScienceBase JSON to internal data structure
|
3
|
+
|
4
|
+
# History:
|
5
|
+
# Stan Smith 2016-06-21 original script
|
6
|
+
|
7
|
+
require 'adiwg/mdtranslator/internal/internal_metadata_obj'
|
8
|
+
|
9
|
+
module ADIWG
|
10
|
+
module Mdtranslator
|
11
|
+
module Readers
|
12
|
+
module SbJson
|
13
|
+
|
14
|
+
module ParentId
|
15
|
+
|
16
|
+
def self.unpack(hSbJson, hResponseObj)
|
17
|
+
|
18
|
+
# instance classes needed in script
|
19
|
+
intMetadataClass = InternalMetadata.new
|
20
|
+
|
21
|
+
if hSbJson.has_key?('parentId')
|
22
|
+
sbId = hSbJson['parentId']
|
23
|
+
unless sbId.nil? || sbId == ''
|
24
|
+
hCitation = intMetadataClass.newCitation
|
25
|
+
hIdentifier = intMetadataClass.newIdentifier
|
26
|
+
hCitation[:title] = 'U.S. Geological Survey ScienceBase parent identifier'
|
27
|
+
hIdentifier[:identifier] = sbId
|
28
|
+
hIdentifier[:namespace] = 'gov.sciencebase.catalog'
|
29
|
+
hIdentifier[:description] = 'USGS ScienceBase Identifier'
|
30
|
+
hCitation[:identifiers] << hIdentifier
|
31
|
+
return hCitation
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
return nil
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# unpack project facet
|
2
|
+
# Reader - ScienceBase JSON to internal data structure
|
3
|
+
|
4
|
+
# History:
|
5
|
+
# Stan Smith 2016-06-27 original script
|
6
|
+
|
7
|
+
require 'adiwg/mdtranslator/writers/sbJson/sections/sbJson_codelists'
|
8
|
+
|
9
|
+
module ADIWG
|
10
|
+
module Mdtranslator
|
11
|
+
module Readers
|
12
|
+
module SbJson
|
13
|
+
|
14
|
+
module Project
|
15
|
+
|
16
|
+
@Namespace = ADIWG::Mdtranslator::Writers::SbJson
|
17
|
+
|
18
|
+
def self.unpack(hFacet, hResourceInfo, hResponseObj)
|
19
|
+
|
20
|
+
# project status
|
21
|
+
if hFacet.has_key?('projectStatus')
|
22
|
+
unless hFacet['projectStatus'].nil? || ['projectStatus'] == ''
|
23
|
+
sbStatus = hFacet['projectStatus']
|
24
|
+
status = @Namespace::Codelists.codelist_iso_to_sb('iso_sb_progress', :sbCode => sbStatus)
|
25
|
+
status = status.nil? ? sbStatus : status
|
26
|
+
hResourceInfo[:status] << status
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# short abstract
|
31
|
+
if hFacet.has_key?('parts')
|
32
|
+
hFacet['parts'].each do |hPart|
|
33
|
+
if hPart['type'] == 'Short Project Description'
|
34
|
+
hResourceInfo[:shortAbstract] = hPart['value']
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
return hResourceInfo
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# unpack citation facet
|
2
|
+
# Reader - ScienceBase JSON to internal data structure
|
3
|
+
|
4
|
+
# History:
|
5
|
+
# Stan Smith 2016-06-25 original script
|
6
|
+
|
7
|
+
require 'adiwg/mdtranslator/internal/internal_metadata_obj'
|
8
|
+
require 'adiwg/mdtranslator/writers/sbJson/sections/sbJson_codelists'
|
9
|
+
|
10
|
+
module ADIWG
|
11
|
+
module Mdtranslator
|
12
|
+
module Readers
|
13
|
+
module SbJson
|
14
|
+
|
15
|
+
module Publication
|
16
|
+
|
17
|
+
def self.unpack(hFacet, hResourceInfo, hCitation, hResponseObj)
|
18
|
+
|
19
|
+
@Namespace = ADIWG::Mdtranslator::Writers::SbJson
|
20
|
+
|
21
|
+
# instance classes needed in script
|
22
|
+
intMetadataClass = InternalMetadata.new
|
23
|
+
|
24
|
+
# set resource type
|
25
|
+
if hFacet.has_key?('citationType')
|
26
|
+
unless hFacet['citationType'].nil? || hFacet['citationType'] == ''
|
27
|
+
hResType = intMetadataClass.newResourceType
|
28
|
+
sbType = hFacet['citationType']
|
29
|
+
type = @Namespace::Codelists.codelist_iso_to_sb('iso_sb_scope', :sbCode => sbType)
|
30
|
+
type = type.nil? ? sbType : type
|
31
|
+
hResType[:type] = type
|
32
|
+
hResType[:name] = sbType
|
33
|
+
hResourceInfo[:resourceTypes] << hResType
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# set citation
|
38
|
+
hSeries = intMetadataClass.newSeries
|
39
|
+
if hFacet.has_key?('note')
|
40
|
+
unless hFacet['note'].nil? || hFacet['note'] == ''
|
41
|
+
i = hCitation[:otherDetails].length
|
42
|
+
hCitation[:otherDetails][i] = hFacet['note']
|
43
|
+
end
|
44
|
+
end
|
45
|
+
if hFacet.has_key?('journal')
|
46
|
+
unless hFacet['journal'].nil? || hFacet['journal'] == ''
|
47
|
+
hSeries[:seriesName] = hFacet['journal']
|
48
|
+
end
|
49
|
+
end
|
50
|
+
if hFacet.has_key?('edition')
|
51
|
+
unless hFacet['edition'].nil? || hFacet['edition'] == ''
|
52
|
+
hSeries[:seriesIssue] = hFacet['edition']
|
53
|
+
end
|
54
|
+
end
|
55
|
+
unless hSeries.empty?
|
56
|
+
hCitation[:series] = hSeries
|
57
|
+
end
|
58
|
+
|
59
|
+
# set default language
|
60
|
+
if hFacet.has_key?('language')
|
61
|
+
unless hFacet['language'].nil? || hFacet['language'] == ''
|
62
|
+
hLocale = intMetadataClass.newLocale
|
63
|
+
hLocale[:languageCode] = hFacet['language']
|
64
|
+
hResourceInfo[:defaultResourceLocale] = hLocale
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
return hResourceInfo, hCitation
|
69
|
+
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -14,6 +14,19 @@ require_relative 'module_identifier'
|
|
14
14
|
require_relative 'module_purpose'
|
15
15
|
require_relative 'module_rights'
|
16
16
|
require_relative 'module_provenance'
|
17
|
+
require_relative 'module_materialRequest'
|
18
|
+
require_relative 'module_parentId'
|
19
|
+
require_relative 'module_contact'
|
20
|
+
require_relative 'module_webLinkDocument'
|
21
|
+
require_relative 'module_webLinkGraphic'
|
22
|
+
require_relative 'module_browseCategory'
|
23
|
+
require_relative 'module_tag'
|
24
|
+
require_relative 'module_date'
|
25
|
+
require_relative 'module_spatial'
|
26
|
+
require_relative 'module_budget'
|
27
|
+
require_relative 'module_publication'
|
28
|
+
require_relative 'module_project'
|
29
|
+
require_relative 'module_extent'
|
17
30
|
|
18
31
|
module ADIWG
|
19
32
|
module Mdtranslator
|
@@ -34,17 +47,18 @@ module ADIWG
|
|
34
47
|
hMetadataInfo = intMetadataClass.newMetadataInfo
|
35
48
|
hResourceInfo = intMetadataClass.newResourceInfo
|
36
49
|
hCitation = intMetadataClass.newCitation
|
50
|
+
hSchema = intMetadataClass.newSchema
|
37
51
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
intObj[:metadata] = hMetadata
|
52
|
+
# schema
|
53
|
+
hSchema[:name] = hSbJson['schema']['name']
|
54
|
+
hSchema[:version] = hSbJson['schema']['version']
|
42
55
|
|
43
56
|
# titles / alternateTitles
|
44
57
|
Title.unpack(hSbJson, hCitation, hResponseObj)
|
45
58
|
|
46
59
|
# id
|
47
|
-
Id.unpack(hSbJson,
|
60
|
+
hReturn = Id.unpack(hSbJson, hResponseObj)
|
61
|
+
hMetadataInfo[:metadataIdentifier] = hReturn unless hReturn.nil?
|
48
62
|
|
49
63
|
# body / summary
|
50
64
|
Body.unpack(hSbJson, hResourceInfo, hResponseObj)
|
@@ -66,9 +80,78 @@ module ADIWG
|
|
66
80
|
Provenance.unpack(hSbJson, hCitation, hResponseObj)
|
67
81
|
|
68
82
|
# materialRequestInstructions
|
83
|
+
aReturn = MaterialRequest.unpack(hSbJson, hResponseObj)
|
84
|
+
unless aReturn.nil?
|
85
|
+
hContact = aReturn[0]
|
86
|
+
myIndex = intObj[:contacts].length
|
87
|
+
intObj[:contacts] << hContact
|
88
|
+
aReturn[1][:distributor][0][:contact][:parties][0][:contactIndex] = myIndex
|
89
|
+
hMetadata[:distributorInfo] << aReturn[1]
|
90
|
+
end
|
91
|
+
|
92
|
+
# parent ID
|
93
|
+
hReturn = ParentId.unpack(hSbJson, hResponseObj)
|
94
|
+
hMetadataInfo[:parentMetadata] = hReturn unless hReturn.nil?
|
95
|
+
|
96
|
+
# contacts
|
97
|
+
Contact.unpack(hSbJson, intObj[:contacts], hResponseObj)
|
98
|
+
|
99
|
+
# web links
|
100
|
+
aReturn = WebLinkDocument.unpack(hSbJson, hResponseObj)
|
101
|
+
hMetadata[:additionalDocuments].concat(aReturn) unless aReturn.nil?
|
102
|
+
aReturn = WebLinkGraphic.unpack(hSbJson, hResponseObj)
|
103
|
+
hResourceInfo[:graphicOverviews].concat(aReturn) unless aReturn.nil?
|
104
|
+
|
105
|
+
# browse categories
|
106
|
+
BrowseCategory.unpack(hSbJson, hResourceInfo, hResponseObj)
|
107
|
+
|
108
|
+
# tags
|
109
|
+
Tag.unpack(hSbJson, hResourceInfo, hResponseObj)
|
110
|
+
|
111
|
+
# dates
|
112
|
+
Date.unpack(hSbJson, hCitation, hResponseObj)
|
113
|
+
|
114
|
+
# Spatial
|
115
|
+
Spatial.unpack(hSbJson, hResourceInfo, hResponseObj)
|
116
|
+
|
117
|
+
# facets
|
118
|
+
if hSbJson.has_key?('facets')
|
119
|
+
hSbJson['facets'].each do |hFacet|
|
120
|
+
if hFacet.has_key?('className')
|
121
|
+
|
122
|
+
# budget facet
|
123
|
+
if hFacet['className'] == 'gov.sciencebase.catalog.item.facet.BudgetFacet'
|
124
|
+
Budget.unpack(hFacet, hMetadata, hResponseObj)
|
125
|
+
end
|
69
126
|
|
70
|
-
|
71
|
-
|
127
|
+
# project facet
|
128
|
+
if hFacet['className'] == 'gov.sciencebase.catalog.item.facet.ProjectFacet'
|
129
|
+
Project.unpack(hFacet, hResourceInfo, hResponseObj)
|
130
|
+
end
|
131
|
+
|
132
|
+
# citation facet
|
133
|
+
if hFacet['className'] == 'gov.sciencebase.catalog.item.facet.CitationFacet'
|
134
|
+
Publication.unpack(hFacet, hResourceInfo, hCitation, hResponseObj)
|
135
|
+
end
|
136
|
+
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
# extents
|
142
|
+
if hSbJson.has_key?('extents')
|
143
|
+
hSbJson['extents'].each do |extentId|
|
144
|
+
hReturn = Extent.unpack(extentId, hResponseObj)
|
145
|
+
hResourceInfo[:extents] << hReturn unless hReturn.empty?
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
hResourceInfo[:citation] = hCitation
|
150
|
+
hMetadata[:metadataInfo] = hMetadataInfo
|
151
|
+
hMetadata[:resourceInfo] = hResourceInfo
|
152
|
+
intObj[:schema] = hSchema
|
153
|
+
intObj[:metadata] = hMetadata
|
154
|
+
@contacts = intObj[:contacts]
|
72
155
|
|
73
156
|
return intObj
|
74
157
|
|