class GeoHydra::GisAssemblyWF::GenerateGeoMetadataTask
Public Instance Methods
perform(data)
click to toggle source
# File lib/geohydra/workflow/gisAssemblyWF.rb, line 41 def perform(data) initialize(data) isoFn = File.join(druid.temp_dir, 'iso19139.xml') fcFn = File.join(druid.temp_dir, 'iso19110.xml') geoFn = File.join(druid.metadata_dir, 'geoMetadata.xml') log_debug({:isoFn => isoFn, :fcFn => fcFn, :geoFn => geoFn, :flags => flags}) unless FileUtils.uptodate?(geoFn, [isoFn, fcFn]) isoXml = Nokogiri::XML(File.read(isoFn)) fcXml = Nokogiri::XML(File.read(fcFn)) log_verbose("Generating geoMetadata: #{geoFn} <- #{isoFn}, #{fcFn}") xml = GeoHydra::Transform.to_geoMetadataDS(isoXml, fcXml, { 'purl' => to_purl}) File.open(geoFn, 'w') {|f| f << xml.to_xml(:indent => 2) } end 'SUCCESS' end