Module: ADIWG::Mdtranslator::Writers::Fgdc
- Defined in:
- lib/adiwg/mdtranslator/writers/fgdc/version.rb,
lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_fgdc.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_phone.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_browse.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_method.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_series.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_source.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_status.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_address.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_contact.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_keyword.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_lineage.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_process.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_quality.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_citation.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_security.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_taxonomy.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_attribute.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_dateRange.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_planarMap.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_publisher.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_constraint.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_dataDomain.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_dateSingle.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_dictionary.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_planarGrid.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_planarInfo.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_timePeriod.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_description.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_digitalForm.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_geologicAge.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_localPlanar.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_localSystem.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_distribution.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_entityDetail.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_metadataInfo.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_onlineOption.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_orderProcess.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_transferInfo.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_geologicRange.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_offlineOption.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_spatialDomain.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_verticalDatum.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_entityOverview.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_identification.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_methodKeywords.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_taxonomySystem.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_planarReference.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_spatialReference.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_taxonomyKeywords.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_geodeticReference.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_mapProjectionTags.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_spatialOrganization.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_geographicResolution.rb,
lib/adiwg/mdtranslator/writers/fgdc/classes/class_taxonomyClassification.rb
Defined Under Namespace
Classes: Address, Attribute, Browse, Citation, Constraint, Contact, DataDictionary, DataDomain, DateRange, DateSingle, Description, DigitalFormat, Distribution, EntityDetail, EntityOverview, Fgdc, GeodeticReference, GeographicResolution, GeologicAge, GeologicRange, Identification, Keyword, Lineage, LocalSystem, MapProjectionTags, MetadataInformation, Method, MethodKeyword, OfflineOption, OnlineOption, OrderProcess, Phone, PlanarGrid, PlanarInformation, PlanarLocal, PlanarMap, PlanarReference, Process, Publisher, Quality, Security, Series, Source, SpatialDomain, SpatialOrganization, SpatialReference, Status, Taxonomy, TaxonomyClassification, TaxonomyKeyword, TaxonomySystem, TimePeriod, TransferInformation, VerticalDatum
Constant Summary
collapse
- VERSION =
current version of fgdc writer
'1.1.0'
Class Method Summary
collapse
Class Method Details
.find_responsibility(aResponsibility, roleName) ⇒ Object
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb', line 53
def self.find_responsibility(aResponsibility, roleName)
aParties = []
aResponsibility.each do |hRParty|
if hRParty[:roleName] == roleName
hRParty[:parties].each do |hParty|
aParties << hParty[:contactId]
end
end
end
aParties = aParties.uniq
return aParties
end
|
.findMessage(messageId) ⇒ Object
70
71
72
73
74
75
76
77
|
# File 'lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb', line 70
def self.findMessage(messageId)
@aMessagesList.each do |hMessage|
if hMessage['id'] == messageId
return hMessage['message']
end
end
return nil
end
|
find contact and return the contact hash
44
45
46
47
48
49
50
51
|
# File 'lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb', line 44
def self.get_contact(contactId)
@contacts.each do |contact|
if contact[:contactId] == contactId
return contact
end
end
return {}
end
|
.get_intObj ⇒ Object
66
67
68
|
# File 'lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb', line 66
def self.get_intObj
return @intObj
end
|
.issueError(messageId, context = nil) ⇒ Object
79
80
81
82
83
84
85
86
|
# File 'lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb', line 79
def self.issueError(messageId, context = nil)
message = findMessage(messageId)
unless message.nil?
message += ': CONTEXT is ' + context unless context.nil?
@hResponseObj[:writerMessages] << 'ERROR: FGDC writer: ' + message
@hResponseObj[:writerPass] = false
end
end
|
.issueNotice(messageId, context = nil) ⇒ Object
105
106
107
108
109
110
111
|
# File 'lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb', line 105
def self.issueNotice(messageId, context = nil)
message = findMessage(messageId)
unless message.nil?
message += ': CONTEXT is ' + context unless context.nil?
@hResponseObj[:writerMessages] << 'NOTICE: FGDC writer: ' + message
end
end
|
.issueWarning(messageId, tag = nil, context = nil) ⇒ Object
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# File 'lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb', line 88
def self.issueWarning(messageId, tag = nil, context = nil)
message = findMessage(messageId)
unless message.nil?
message += ': CONTEXT is ' + context unless context.nil?
if @hResponseObj[:writerForceValid]
if tag.nil?
issueError(messageId, context)
else
@xml.tag!(tag, 'missing')
@hResponseObj[:writerMessages] << 'WARNING: FGDC writer: ' + message
end
else
@hResponseObj[:writerMessages] << 'WARNING: FGDC writer: ' + message
end
end
end
|
.startWriter(intObj, responseObj, whichDict: 0) ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/adiwg/mdtranslator/writers/fgdc/fgdc_writer.rb', line 16
def self.startWriter(intObj, responseObj, whichDict: 0)
@intObj = intObj
@contacts = intObj[:contacts]
@hResponseObj = responseObj
file = File.join(File.dirname(__FILE__), 'fgdc_writer_messages_eng') + '.yml'
hMessageList = YAML.load_file(file)
@aMessagesList = hMessageList['messageList']
responseObj[:writerOutputFormat] = 'xml'
responseObj[:writerVersion] = ADIWG::Mdtranslator::Writers::Fgdc::VERSION
@xml = Builder::XmlMarkup.new(indent: 3)
metadataWriter = Fgdc.new(@xml, responseObj)
metadata = metadataWriter.writeXML(intObj)
return metadata
end
|