lib/adiwg/mdtranslator/writers/fgdc/classes/class_timePeriod.rb in adiwg-mdtranslator-2.6.1 vs lib/adiwg/mdtranslator/writers/fgdc/classes/class_timePeriod.rb in adiwg-mdtranslator-2.7.0
- old
+ new
@@ -19,11 +19,11 @@
def initialize(xml, hResponseObj)
@xml = xml
@hResponseObj = hResponseObj
end
- def writeXML(hTimePeriod)
+ def writeXML(hTimePeriod, currentTag)
# classes used
singDateClass = DateSingle.new(@xml, @hResponseObj)
rangeDateClass = DateRange.new(@xml, @hResponseObj)
geologicAgeClass = GeologicAge.new(@xml, @hResponseObj)
@@ -31,10 +31,11 @@
hStartDate = hTimePeriod[:startDateTime]
hEndDate = hTimePeriod[:endDateTime]
hStartGeoAge = hTimePeriod[:startGeologicAge]
hEndGeoAge = hTimePeriod[:endGeologicAge]
+ current = hTimePeriod[:description]
dateCount = 0
ageCount = 0
dateCount += 1 unless hStartDate.empty?
dateCount += 1 unless hEndDate.empty?
@@ -49,49 +50,54 @@
if dateCount > 0 && ageCount > 0
@hResponseObj[:writerPass] = false
@hResponseObj[:writerMessages] << 'Time Period must be either conventional or geologic time, not both'
end
- # single date
- if dateCount == 1
- @xml.tag!('timeinfo') do
+ @xml.tag!('timeinfo') do
+
+ # single date
+ if dateCount == 1
if hStartDate.empty?
singDateClass.writeXML(hEndDate)
else
singDateClass.writeXML(hStartDate)
end
end
- end
- # date range
- if dateCount == 2
- @xml.tag!('timeinfo') do
+ # date range
+ if dateCount == 2
rangeDateClass.writeXML(hStartDate, hEndDate)
end
- end
- # single geologic age
- if ageCount == 1
- @xml.tag!('timeinfo') do
+ # single geologic age
+ if ageCount == 1
@xml.tag!('sngdate') do
@xml.tag!('geolage') do
if hStartGeoAge.empty?
geologicAgeClass.writeXML(hEndGeoAge)
else
geologicAgeClass.writeXML(hStartGeoAge)
end
end
end
end
- end
- # geologic age range
- if ageCount == 2
- @xml.tag!('timeinfo') do
+ # geologic age range
+ if ageCount == 2
@xml.tag!('rngdates') do
geologicRangeClass.writeXML(hStartGeoAge,hEndGeoAge )
end
end
+
+ # add timeInfo currentness (required)
+ unless current.nil?
+ @xml.tag!(currentTag, current)
+ end
+ if current.nil?
+ @hResponseObj[:writerPass] = false
+ @hResponseObj[:writerMessages] << 'Time Info is missing time currentness'
+ end
+
end
end # writeXML
end # TimePeriod