module Geoloader::Assets::Geonetwork

Public Instance Methods

get_list_parameter(key) click to toggle source

Convert an array metadata attribute to a comma-delimited list.

# File lib/geoloader/assets/geonetwork.rb, line 42
def get_list_parameter(key)
  @description.metadata.fetch(key, []).join(",")
end
iso19139_xml() click to toggle source

Convert the ESRI XML into a iso19139 record.

# File lib/geoloader/assets/geonetwork.rb, line 27
def iso19139_xml
  `saxon #{@file_path}.xml #{Geoloader.gem_dir}/iso19139.xsl #{xslt_params(
    :identifier   => @uuid,
    :categories   => get_list_parameter("categories"),
    :keywords     => get_list_parameter("keywords"),
    :title        => @description.title.to_s,
    :abstract     => @description.abstract.to_s,
    :wms_address  => wms_address,
    :wms_layers   => wms_layers
  )}`
end
wms_address() click to toggle source

Form the WMS address.

# File lib/geoloader/assets/geonetwork.rb, line 13
def wms_address
  "#{Geoloader.config.geoserver.url}/wms"
end
wms_layers() click to toggle source

Form the WMS layer string.

# File lib/geoloader/assets/geonetwork.rb, line 20
def wms_layers
  "#{@workspace}:#{@file_base}"
end
xslt_params(params) click to toggle source

Convert a hash to a Saxon XSLT parameter string.

@param [Hash] params

# File lib/geoloader/assets/geonetwork.rb, line 51
def xslt_params(params)
  params.map { |k, v| "#{k}='#{CGI::escapeHTML(v)}'" }.join(" ")
end