geoblacklight 2.2.0 → 3.0.1
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/.circleci/config.yml +212 -112
- data/.rubocop.yml +16 -14
- data/.rubocop_todo.yml +28 -151
- data/Gemfile +3 -8
- data/README.md +1 -1
- data/Rakefile +1 -0
- data/app/assets/images/blacklight/arrow-circle-down.svg +1 -2
- data/app/assets/images/blacklight/baruch-cuny.svg +1 -4
- data/app/assets/images/blacklight/berkeley.svg +1 -4
- data/app/assets/images/blacklight/book.svg +1 -4
- data/app/assets/images/blacklight/bookmark.svg +1 -4
- data/app/assets/images/blacklight/cd-rom.svg +1 -4
- data/app/assets/images/blacklight/chicago.svg +1 -4
- data/app/assets/images/blacklight/citation.svg +3 -0
- data/app/assets/images/blacklight/collection.svg +3 -0
- data/app/assets/images/blacklight/columbia.svg +1 -4
- data/app/assets/images/blacklight/cornell.svg +1 -4
- data/app/assets/images/blacklight/dvd-rom.svg +1 -4
- data/app/assets/images/blacklight/email.svg +1 -4
- data/app/assets/images/blacklight/esri-globe.svg +1 -4
- data/app/assets/images/blacklight/globe.svg +1 -2
- data/app/assets/images/blacklight/harvard.svg +1 -4
- data/app/assets/images/blacklight/home.svg +1 -2
- data/app/assets/images/blacklight/illinois.svg +1 -4
- data/app/assets/images/blacklight/image.svg +1 -4
- data/app/assets/images/blacklight/indiana.svg +1 -4
- data/app/assets/images/blacklight/iowa.svg +1 -4
- data/app/assets/images/blacklight/leaf.svg +1 -4
- data/app/assets/images/blacklight/lewis-clark.svg +1 -4
- data/app/assets/images/blacklight/line.svg +1 -4
- data/app/assets/images/blacklight/map-marker.svg +1 -4
- data/app/assets/images/blacklight/map.svg +1 -4
- data/app/assets/images/blacklight/maryland.svg +1 -4
- data/app/assets/images/blacklight/massgis.svg +1 -4
- data/app/assets/images/blacklight/metadata.svg +1 -4
- data/app/assets/images/blacklight/michigan-state.svg +1 -4
- data/app/assets/images/blacklight/michigan.svg +1 -4
- data/app/assets/images/blacklight/minnesota.svg +1 -4
- data/app/assets/images/blacklight/mit.svg +1 -4
- data/app/assets/images/blacklight/mixed.svg +1 -4
- data/app/assets/images/blacklight/multilinestring.svg +1 -4
- data/app/assets/images/blacklight/multipoint.svg +1 -4
- data/app/assets/images/blacklight/multipolygon.svg +1 -4
- data/app/assets/images/blacklight/nyu.svg +1 -4
- data/app/assets/images/blacklight/ohio-state.svg +1 -4
- data/app/assets/images/blacklight/pagelines-brands.svg +1 -4
- data/app/assets/images/blacklight/paper-map.svg +1 -4
- data/app/assets/images/blacklight/penn-state.svg +1 -4
- data/app/assets/images/blacklight/point.svg +1 -4
- data/app/assets/images/blacklight/polygon.svg +1 -4
- data/app/assets/images/blacklight/polyline.svg +1 -4
- data/app/assets/images/blacklight/princeton.svg +1 -4
- data/app/assets/images/blacklight/public.svg +1 -4
- data/app/assets/images/blacklight/purdue.svg +1 -4
- data/app/assets/images/blacklight/raster.svg +1 -4
- data/app/assets/images/blacklight/restricted.svg +1 -4
- data/app/assets/images/blacklight/sms.svg +1 -4
- data/app/assets/images/blacklight/stanford.svg +1 -4
- data/app/assets/images/blacklight/table.svg +1 -4
- data/app/assets/images/blacklight/tags.svg +1 -2
- data/app/assets/images/blacklight/texas.svg +1 -4
- data/app/assets/images/blacklight/tufts.svg +1 -4
- data/app/assets/images/blacklight/ucla.svg +1 -4
- data/app/assets/images/blacklight/uva.svg +1 -4
- data/app/assets/images/blacklight/web_services.svg +1 -4
- data/app/assets/images/blacklight/wisconsin.svg +1 -4
- data/app/assets/javascripts/geoblacklight/basemaps.js +18 -0
- data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +1 -1
- data/app/assets/javascripts/geoblacklight/modules/geosearch.js +1 -1
- data/app/assets/javascripts/geoblacklight/modules/home.js +1 -1
- data/app/assets/javascripts/geoblacklight/modules/item.js +20 -1
- data/app/assets/javascripts/geoblacklight/modules/results.js +4 -2
- data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +31 -0
- data/app/assets/javascripts/geoblacklight/viewers/esri.js +2 -2
- data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +1 -1
- data/app/assets/javascripts/geoblacklight/viewers/wms.js +2 -2
- data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +2 -0
- data/app/assets/stylesheets/geoblacklight/modules/_base.scss +33 -0
- data/app/assets/stylesheets/geoblacklight/{_blacklight_overrides.scss → modules/_blacklight_overrides.scss} +1 -10
- data/app/assets/stylesheets/geoblacklight/{_styles.scss → modules/_styles.scss} +1 -0
- data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +37 -54
- data/app/assets/stylesheets/geoblacklight/modules/item.scss +13 -0
- data/app/assets/stylesheets/geoblacklight/modules/results.scss +26 -29
- data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +12 -42
- data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +17 -59
- data/app/controllers/download_controller.rb +12 -12
- data/app/controllers/relation_controller.rb +1 -0
- data/app/controllers/wms_controller.rb +1 -0
- data/app/helpers/arcgis_helper.rb +1 -0
- data/app/helpers/blacklight_helper.rb +1 -0
- data/app/helpers/carto_helper.rb +1 -0
- data/app/helpers/geoblacklight_helper.rb +36 -79
- data/app/models/concerns/geoblacklight/solr_document.rb +15 -9
- data/app/models/concerns/geoblacklight/solr_document/arcgis.rb +2 -1
- data/app/models/concerns/geoblacklight/solr_document/carto.rb +1 -13
- data/app/models/concerns/geoblacklight/solr_document/citation.rb +29 -0
- data/app/models/concerns/geoblacklight/solr_document/finder.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document/inspection.rb +2 -1
- data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +3 -1
- data/app/presenters/geoblacklight/document_presenter.rb +2 -1
- data/app/views/catalog/_arcgis.html.erb +4 -0
- data/app/views/catalog/_carto.html.erb +4 -0
- data/app/views/catalog/_citation.html.erb +11 -0
- data/app/views/catalog/_data_dictionary.html.erb +1 -1
- data/app/views/catalog/_document_action.html.erb +1 -1
- data/app/views/catalog/_document_split.html.erb +1 -1
- data/app/views/catalog/_downloads_primary.html.erb +8 -1
- data/app/views/catalog/_header_icons.html.erb +3 -3
- data/app/views/catalog/_home_text.html.erb +4 -1
- data/app/views/catalog/_index_split_default.html.erb +22 -14
- data/app/views/catalog/_show_default_viewer_container.html.erb +1 -1
- data/app/views/catalog/_web_services_wfs.html.erb +3 -3
- data/app/views/catalog/_web_services_wms.html.erb +3 -3
- data/app/views/catalog/metadata.html.erb +3 -1
- data/app/views/catalog/web_services.html.erb +9 -7
- data/app/views/relation/_ancestors.html.erb +2 -5
- data/app/views/relation/_descendants.html.erb +3 -6
- data/app/views/relation/index.html.erb +20 -8
- data/app/views/relation/index.json.jbuilder +2 -1
- data/app/views/shared/_header_navbar.html.erb +1 -3
- data/bin/coverage.rb +36 -0
- data/config/initializers/rails_config.rb +1 -0
- data/config/locales/geoblacklight.en.yml +46 -61
- data/geoblacklight.gemspec +5 -8
- data/lib/generators/geoblacklight/assets_generator.rb +46 -0
- data/lib/generators/geoblacklight/install_generator.rb +8 -9
- data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +1 -0
- data/lib/generators/geoblacklight/templates/assets/_customizations.scss +28 -0
- data/{app/assets/stylesheets/geoblacklight/application.scss → lib/generators/geoblacklight/templates/assets/_geoblacklight.scss} +0 -1
- data/lib/generators/geoblacklight/templates/assets/application.scss +7 -0
- data/lib/generators/geoblacklight/templates/{geoblacklight.js → assets/geoblacklight.js} +0 -1
- data/lib/generators/geoblacklight/templates/catalog_controller.rb +6 -2
- data/lib/generators/geoblacklight/templates/settings.yml +4 -6
- data/lib/generators/geoblacklight/webpacker_generator.rb +2 -1
- data/lib/geoblacklight.rb +1 -0
- data/lib/geoblacklight/bounding_box.rb +1 -0
- data/lib/geoblacklight/catalog_helper_override.rb +2 -1
- data/lib/geoblacklight/constants.rb +1 -0
- data/lib/geoblacklight/download.rb +6 -5
- data/lib/geoblacklight/download/geojson_download.rb +1 -0
- data/lib/geoblacklight/download/geotiff_download.rb +1 -0
- data/lib/geoblacklight/download/hgl_download.rb +1 -0
- data/lib/geoblacklight/download/kmz_download.rb +2 -1
- data/lib/geoblacklight/download/shapefile_download.rb +1 -0
- data/lib/geoblacklight/engine.rb +2 -2
- data/lib/geoblacklight/exceptions.rb +1 -0
- data/lib/geoblacklight/geoblacklight_helper_behavior.rb +1 -0
- data/lib/geoblacklight/item_viewer.rb +1 -0
- data/lib/geoblacklight/metadata.rb +1 -0
- data/lib/geoblacklight/metadata/base.rb +3 -2
- data/lib/geoblacklight/metadata/fgdc.rb +1 -0
- data/lib/geoblacklight/metadata/html.rb +2 -2
- data/lib/geoblacklight/metadata/iso19139.rb +1 -0
- data/lib/geoblacklight/metadata_transformer.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/base.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/fgdc.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/iso19139.rb +1 -0
- data/lib/geoblacklight/reference.rb +1 -0
- data/lib/geoblacklight/references.rb +7 -3
- data/lib/geoblacklight/relation/ancestors.rb +2 -1
- data/lib/geoblacklight/relation/descendants.rb +2 -1
- data/lib/geoblacklight/relation/relation_response.rb +2 -1
- data/lib/geoblacklight/routes.rb +1 -0
- data/lib/geoblacklight/routes/downloadable.rb +1 -0
- data/lib/geoblacklight/routes/exportable.rb +1 -0
- data/lib/geoblacklight/routes/wms.rb +1 -0
- data/lib/geoblacklight/version.rb +2 -1
- data/lib/geoblacklight/view_helper_override.rb +2 -1
- data/lib/geoblacklight/wms_layer.rb +3 -2
- data/lib/geoblacklight/wms_layer/feature_info_response.rb +1 -0
- data/lib/tasks/geoblacklight.rake +33 -32
- data/solr/conf/schema.xml +5 -5
- data/spec/controllers/catalog_controller_spec.rb +1 -0
- data/spec/controllers/download_controller_spec.rb +2 -1
- data/spec/controllers/relation_controller_spec.rb +1 -0
- data/spec/controllers/wms_controller_spec.rb +2 -1
- data/spec/factories/user.rb +1 -0
- data/spec/features/bookmarks_spec.rb +1 -0
- data/spec/features/configurable_basemap_spec.rb +10 -0
- data/spec/features/data_dictionary_download_spec.rb +1 -0
- data/spec/features/download_layer_spec.rb +1 -0
- data/spec/features/empty_search_spec.rb +1 -0
- data/spec/features/esri_viewer_spec.rb +1 -6
- data/spec/features/exports_spec.rb +4 -12
- data/spec/features/help_text_spec.rb +1 -0
- data/spec/features/home_page_spec.rb +6 -0
- data/spec/features/iiif_viewer_spec.rb +1 -0
- data/spec/features/index_map_spec.rb +1 -0
- data/spec/features/layer_inspection_spec.rb +1 -0
- data/spec/features/layer_opacity_spec.rb +1 -0
- data/spec/features/layer_preview_spec.rb +1 -0
- data/spec/features/layer_with_no_references_spec.rb +1 -0
- data/spec/features/linkified_attribute_table_spec.rb +1 -0
- data/spec/features/metadata_panel_spec.rb +1 -0
- data/spec/features/missing_metadata_spec.rb +13 -0
- data/spec/features/multiple_downloads_spec.rb +15 -0
- data/spec/features/oembed_spec.rb +1 -0
- data/spec/features/relations_spec.rb +10 -28
- data/spec/features/saved_searches_spec.rb +1 -0
- data/spec/features/search_bar_spec.rb +1 -0
- data/spec/features/search_results_map_spec.rb +1 -6
- data/spec/features/search_results_overlap_ratio_spec.rb +4 -3
- data/spec/features/search_spec.rb +1 -0
- data/spec/features/show_page_metadata_spec.rb +1 -0
- data/spec/features/sms_spec.rb +1 -0
- data/spec/features/split_view.html.erb_spec.rb +4 -3
- data/spec/features/suppressed_records_spec.rb +1 -0
- data/spec/features/web_services_modal_spec.rb +1 -0
- data/spec/fixtures/solr_documents/metadata_no_dct_provenance_s.json +30 -0
- data/spec/fixtures/solr_documents/metadata_no_layer_geom_type_s.json +17 -0
- data/spec/fixtures/solr_documents/metadata_no_solr_geom.json +23 -0
- data/spec/fixtures/solr_documents/multiple-downloads.json +30 -0
- data/spec/helpers/arcgis_helper_spec.rb +1 -0
- data/spec/helpers/carto_helper_spec.rb +1 -0
- data/spec/helpers/geoblacklight_helper_spec.rb +51 -5
- data/spec/javascripts/geoblacklight/viewers/esri/tiled_map_layer_spec.js +12 -0
- data/spec/javascripts/geoblacklight_spec.js +0 -4
- data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -0
- data/spec/lib/geoblacklight/controller_override_spec.rb +1 -0
- data/spec/lib/geoblacklight/document_presenter_spec.rb +3 -2
- data/spec/lib/geoblacklight/download/geojson_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/hgl_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/kmz_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download_spec.rb +4 -3
- data/spec/lib/geoblacklight/geoblacklight_helper_behavior_spec.rb +1 -0
- data/spec/lib/geoblacklight/item_viewer_spec.rb +1 -0
- data/spec/lib/geoblacklight/metadata/base_spec.rb +4 -3
- data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -0
- data/spec/lib/geoblacklight/metadata_spec.rb +1 -0
- data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +3 -2
- data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +3 -2
- data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +3 -2
- data/spec/lib/geoblacklight/metadata_transformer_spec.rb +4 -3
- data/spec/lib/geoblacklight/reference_spec.rb +1 -0
- data/spec/lib/geoblacklight/references_spec.rb +2 -3
- data/spec/lib/geoblacklight/relation/ancestors_spec.rb +2 -1
- data/spec/lib/geoblacklight/relation/descendants_spec.rb +2 -1
- data/spec/lib/geoblacklight/relation/relation_response_spec.rb +1 -0
- data/spec/lib/geoblacklight/view_helper_override_spec.rb +1 -0
- data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +5 -4
- data/spec/lib/geoblacklight/wms_layer_spec.rb +3 -2
- data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +1 -20
- data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +14 -0
- data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/solr_document_spec.rb +27 -0
- data/spec/models/concerns/geoblacklight/spatial_search_behavior_spec.rb +15 -2
- data/spec/routing/catalog_routing_spec.rb +1 -0
- data/spec/spec_helper.rb +12 -9
- data/spec/support/backport_test_helpers.rb +1 -0
- data/spec/support/features.rb +1 -0
- data/spec/support/features/session_helpers.rb +1 -0
- data/spec/support/fixtures.rb +8 -0
- data/spec/tasks/geoblacklight_spec.rb +19 -0
- data/spec/teaspoon_env.rb +1 -0
- data/spec/test_app_templates/Gemfile.extra +1 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -0
- data/spec/views/catalog/_document_split.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_index_split.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_results_pagination.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_show_downloads.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_show_tools.html.erb_spec.rb +2 -4
- data/template.rb +1 -0
- data/vendor/assets/stylesheets/leaflet.css +0 -1
- metadata +69 -79
- data/app/assets/images/blacklight/logo.png +0 -0
- data/app/assets/javascripts/geoblacklight/modules/collapse.js +0 -7
- data/app/assets/stylesheets/geoblacklight/_geoblacklight.scss +0 -36
- data/app/assets/stylesheets/geoblacklight/modules/relations.scss +0 -15
- data/app/views/catalog/_exports.html.erb +0 -3
- data/app/views/catalog/_show_tools.html.erb +0 -25
- data/lib/generators/geoblacklight/templates/geoblacklight.scss +0 -4
- data/vendor/assets/javascripts/readmore.js +0 -618
- data/vendor/assets/javascripts/readmore.js.map +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
module CatalogHelperOverride
|
|
3
4
|
##
|
|
@@ -5,7 +6,7 @@ module Geoblacklight
|
|
|
5
6
|
# @param [Symbol] symbol of field to be removed
|
|
6
7
|
# @param [Hash] request parameters
|
|
7
8
|
def remove_spatial_filter_group(field, source_params = params)
|
|
8
|
-
p = source_params.dup
|
|
9
|
+
p = source_params.dup.to_h
|
|
9
10
|
p.delete(field.to_s)
|
|
10
11
|
p
|
|
11
12
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
class Download
|
|
3
4
|
def initialize(document, options = {})
|
|
@@ -14,7 +15,7 @@ module Geoblacklight
|
|
|
14
15
|
end
|
|
15
16
|
|
|
16
17
|
def self.file_path
|
|
17
|
-
Settings.DOWNLOAD_PATH ||
|
|
18
|
+
Settings.DOWNLOAD_PATH || Rails.root.join('tmp', 'cache', 'downloads')
|
|
18
19
|
end
|
|
19
20
|
|
|
20
21
|
def file_path_and_name
|
|
@@ -55,8 +56,8 @@ module Geoblacklight
|
|
|
55
56
|
|
|
56
57
|
##
|
|
57
58
|
# Initiates download from a remote source url using the `request_params`.
|
|
58
|
-
# Will catch Faraday::
|
|
59
|
-
# Faraday::
|
|
59
|
+
# Will catch Faraday::ConnectionFailed and
|
|
60
|
+
# Faraday::TimeoutError
|
|
60
61
|
# @return [Faraday::Request] returns a Faraday::Request object
|
|
61
62
|
def initiate_download
|
|
62
63
|
conn = Faraday.new(url: url)
|
|
@@ -65,11 +66,11 @@ module Geoblacklight
|
|
|
65
66
|
request.options.timeout = timeout
|
|
66
67
|
request.options.open_timeout = timeout
|
|
67
68
|
end
|
|
68
|
-
rescue Faraday::
|
|
69
|
+
rescue Faraday::ConnectionFailed
|
|
69
70
|
raise Geoblacklight::Exceptions::ExternalDownloadFailed,
|
|
70
71
|
message: 'Download connection failed',
|
|
71
72
|
url: conn.url_prefix.to_s
|
|
72
|
-
rescue Faraday::
|
|
73
|
+
rescue Faraday::TimeoutError
|
|
73
74
|
raise Geoblacklight::Exceptions::ExternalDownloadFailed,
|
|
74
75
|
message: 'Download timed out',
|
|
75
76
|
url: conn.url_prefix.to_s
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
class KmzDownload < Geoblacklight::Download
|
|
3
4
|
KMZ_DOWNLOAD_PARAMS = { service: 'wms',
|
|
4
5
|
version: '1.1.0',
|
|
5
6
|
request: 'GetMap',
|
|
6
|
-
srsName: 'EPSG:
|
|
7
|
+
srsName: 'EPSG:3857',
|
|
7
8
|
format: 'application/vnd.google-earth.kmz',
|
|
8
9
|
width: 2000, height: 2000 }.freeze
|
|
9
10
|
|
data/lib/geoblacklight/engine.rb
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'blacklight'
|
|
2
|
-
require 'font-awesome-rails'
|
|
3
3
|
require 'coderay'
|
|
4
4
|
require 'config'
|
|
5
5
|
require 'faraday'
|
|
6
6
|
require 'faraday_middleware'
|
|
7
|
+
require 'geoblacklight/version'
|
|
7
8
|
require 'nokogiri'
|
|
8
|
-
require 'geoblacklight-icons'
|
|
9
9
|
require 'mime/types'
|
|
10
10
|
require 'handlebars_assets'
|
|
11
11
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
module Metadata
|
|
3
4
|
##
|
|
@@ -54,10 +55,10 @@ module Geoblacklight
|
|
|
54
55
|
return response.body unless response.nil? || response.status == 404
|
|
55
56
|
Geoblacklight.logger.error "Could not reach #{@reference.endpoint}"
|
|
56
57
|
''
|
|
57
|
-
rescue Faraday::
|
|
58
|
+
rescue Faraday::ConnectionFailed => error
|
|
58
59
|
Geoblacklight.logger.error error.inspect
|
|
59
60
|
''
|
|
60
|
-
rescue Faraday::
|
|
61
|
+
rescue Faraday::TimeoutError => error
|
|
61
62
|
Geoblacklight.logger.error error.inspect
|
|
62
63
|
''
|
|
63
64
|
rescue OpenSSL::SSL::SSLError => error
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
module Metadata
|
|
3
4
|
class Html < Base
|
|
4
5
|
def transform
|
|
5
|
-
ActionController::Base.helpers.
|
|
6
|
-
'',
|
|
6
|
+
ActionController::Base.helpers.tag.iframe('',
|
|
7
7
|
src: @reference.endpoint,
|
|
8
8
|
scrolling: 'yes',
|
|
9
9
|
frameborder: 0)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
# References is a geoblacklight-schema dct:references parser
|
|
3
4
|
class References
|
|
@@ -43,7 +44,7 @@ module Geoblacklight
|
|
|
43
44
|
# Preferred download (should be a file download)
|
|
44
45
|
# @return [Hash, nil]
|
|
45
46
|
def preferred_download
|
|
46
|
-
return file_download
|
|
47
|
+
return file_download if download.present?
|
|
47
48
|
end
|
|
48
49
|
|
|
49
50
|
##
|
|
@@ -100,9 +101,12 @@ module Geoblacklight
|
|
|
100
101
|
# present
|
|
101
102
|
# @return (see #downloads_by_format)
|
|
102
103
|
def vector_download_formats
|
|
103
|
-
|
|
104
|
+
return unless wms.present? && wfs.present?
|
|
105
|
+
{
|
|
106
|
+
shapefile: wfs.to_hash,
|
|
104
107
|
kmz: wms.to_hash,
|
|
105
|
-
geojson: wfs.to_hash
|
|
108
|
+
geojson: wfs.to_hash
|
|
109
|
+
}
|
|
106
110
|
end
|
|
107
111
|
|
|
108
112
|
##
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
module Relation
|
|
3
4
|
class Ancestors
|
|
@@ -8,7 +9,7 @@ module Geoblacklight
|
|
|
8
9
|
|
|
9
10
|
def create_search_params
|
|
10
11
|
{ fq: ["{!join from=#{Settings.FIELDS.SOURCE} to=layer_slug_s}layer_slug_s:#{@search_id}"],
|
|
11
|
-
fl: [Settings.FIELDS.TITLE, 'layer_slug_s'] }
|
|
12
|
+
fl: [Settings.FIELDS.TITLE, 'layer_slug_s', Settings.FIELDS.GEOM_TYPE] }
|
|
12
13
|
end
|
|
13
14
|
|
|
14
15
|
def execute_query
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
module Relation
|
|
3
4
|
class Descendants
|
|
@@ -8,7 +9,7 @@ module Geoblacklight
|
|
|
8
9
|
|
|
9
10
|
def create_search_params
|
|
10
11
|
{ fq: "#{Settings.FIELDS.SOURCE}:#{@search_id}",
|
|
11
|
-
fl: [Settings.FIELDS.TITLE, 'layer_slug_s'] }
|
|
12
|
+
fl: [Settings.FIELDS.TITLE, 'layer_slug_s', Settings.FIELDS.GEOM_TYPE] }
|
|
12
13
|
end
|
|
13
14
|
|
|
14
15
|
def execute_query
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
module Relation
|
|
3
4
|
class RelationResponse
|
|
@@ -17,7 +18,7 @@ module Geoblacklight
|
|
|
17
18
|
end
|
|
18
19
|
|
|
19
20
|
def empty?
|
|
20
|
-
!(ancestors['numFound']
|
|
21
|
+
!(ancestors['numFound'].positive? || descendants['numFound'].positive?)
|
|
21
22
|
end
|
|
22
23
|
end
|
|
23
24
|
end
|
data/lib/geoblacklight/routes.rb
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
module ViewHelperOverride
|
|
3
4
|
include CatalogHelperOverride
|
|
@@ -26,7 +27,7 @@ module Geoblacklight
|
|
|
26
27
|
|
|
27
28
|
def render_constraints_filters(localized_params = params)
|
|
28
29
|
content = super(localized_params)
|
|
29
|
-
localized_params = localized_params.to_unsafe_h
|
|
30
|
+
localized_params = localized_params.to_unsafe_h if localized_params.respond_to?(:to_unsafe_h)
|
|
30
31
|
|
|
31
32
|
if localized_params[:bbox]
|
|
32
33
|
path = search_action_path(remove_spatial_filter_group(:bbox, localized_params))
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Geoblacklight
|
|
2
3
|
class WmsLayer
|
|
3
4
|
def initialize(params)
|
|
@@ -24,10 +25,10 @@ module Geoblacklight
|
|
|
24
25
|
request.options.timeout = Settings.TIMEOUT_WMS
|
|
25
26
|
request.options.open_timeout = Settings.TIMEOUT_WMS
|
|
26
27
|
end
|
|
27
|
-
rescue Faraday::
|
|
28
|
+
rescue Faraday::ConnectionFailed => error
|
|
28
29
|
Geoblacklight.logger.error error.inspect
|
|
29
30
|
{ error: error.inspect }
|
|
30
|
-
rescue Faraday::
|
|
31
|
+
rescue Faraday::TimeoutError => error
|
|
31
32
|
Geoblacklight.logger.error error.inspect
|
|
32
33
|
{ error: error.inspect }
|
|
33
34
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'rails/generators'
|
|
2
3
|
require 'generators/geoblacklight/install_generator'
|
|
3
4
|
|
|
@@ -7,15 +8,15 @@ namespace :geoblacklight do
|
|
|
7
8
|
require 'solr_wrapper'
|
|
8
9
|
SolrWrapper.wrap(port: '8983') do |solr|
|
|
9
10
|
solr.with_collection(name: 'blacklight-core', dir: File.join(File.expand_path('../../', File.dirname(__FILE__)), 'solr', 'conf')) do
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
puts "\nSolr server running: http://localhost:#{solr.port}/solr/#/blacklight-core"
|
|
12
|
+
puts "\n^C to stop"
|
|
13
|
+
puts ' '
|
|
14
|
+
begin
|
|
15
|
+
Rake::Task['geoblacklight:solr:seed'].invoke
|
|
16
|
+
system "bundle exec rails s #{args[:rails_server_args]}"
|
|
17
|
+
rescue Interrupt
|
|
18
|
+
puts 'Shutting down...'
|
|
19
|
+
end
|
|
19
20
|
end
|
|
20
21
|
end
|
|
21
22
|
end
|
|
@@ -30,7 +31,7 @@ namespace :geoblacklight do
|
|
|
30
31
|
puts ' '
|
|
31
32
|
begin
|
|
32
33
|
Rake::Task['geoblacklight:solr:seed'].invoke
|
|
33
|
-
system
|
|
34
|
+
system 'foreman start'
|
|
34
35
|
rescue Interrupt
|
|
35
36
|
puts 'Shutting down...'
|
|
36
37
|
end
|
|
@@ -39,23 +40,23 @@ namespace :geoblacklight do
|
|
|
39
40
|
end
|
|
40
41
|
|
|
41
42
|
namespace :index do
|
|
42
|
-
desc
|
|
43
|
+
desc 'Put sample data into solr'
|
|
43
44
|
task :seed => :environment do
|
|
44
45
|
docs = Dir['spec/fixtures/solr_documents/*.json'].map { |f| JSON.parse File.read(f) }.flatten
|
|
45
46
|
Blacklight.default_index.connection.add docs
|
|
46
47
|
Blacklight.default_index.connection.commit
|
|
47
48
|
end
|
|
48
49
|
|
|
49
|
-
desc
|
|
50
|
+
desc 'Ingests a GeoHydra transformed.json'
|
|
50
51
|
task :ingest_all => :environment do
|
|
51
|
-
docs = JSON
|
|
52
|
+
docs = JSON.parse(File.read(Rails.root.join('tmp', 'transformed.json')))
|
|
52
53
|
docs.each do |doc|
|
|
53
54
|
Blacklight.default_index.connection.add doc
|
|
54
55
|
Blacklight.default_index.connection.commit
|
|
55
56
|
end
|
|
56
57
|
end
|
|
57
58
|
|
|
58
|
-
desc
|
|
59
|
+
desc 'Ingests a directory of geoblacklight.json files'
|
|
59
60
|
task :ingest, [:directory] => :environment do |_t, args|
|
|
60
61
|
args.with_defaults(directory: 'data')
|
|
61
62
|
Dir.glob(File.join(args[:directory], '**', 'geoblacklight.json')).each do |fn|
|
|
@@ -66,7 +67,7 @@ namespace :geoblacklight do
|
|
|
66
67
|
puts "Failed to ingest #{fn}: #{e.inspect}"
|
|
67
68
|
end
|
|
68
69
|
end
|
|
69
|
-
puts
|
|
70
|
+
puts 'Committing changes to Solr'
|
|
70
71
|
Blacklight.default_index.connection.commit
|
|
71
72
|
end
|
|
72
73
|
end
|
|
@@ -74,33 +75,33 @@ namespace :geoblacklight do
|
|
|
74
75
|
namespace :downloads do
|
|
75
76
|
desc 'Delete all cached downloads'
|
|
76
77
|
task delete: :environment do
|
|
77
|
-
FileUtils.rm_rf Dir.glob(
|
|
78
|
+
FileUtils.rm_rf Dir.glob(Rails.root.join('tmp', 'cache', 'downloads', '*'))
|
|
78
79
|
end
|
|
79
80
|
desc 'Create download directory'
|
|
80
81
|
task mkdir: :environment do
|
|
81
|
-
FileUtils.mkdir_p
|
|
82
|
+
FileUtils.mkdir_p(Rails.root.join('tmp', 'cache', 'downloads'), verbose: true)
|
|
82
83
|
end
|
|
83
84
|
desc 'Precaches a download'
|
|
84
|
-
task :precache, [:doc_id, :download_type, :timeout] => [:environment] do |
|
|
85
|
-
|
|
86
|
-
fail 'Please supply required arguments [document_id, download_type and timeout]'
|
|
87
|
-
document = Geoblacklight::SolrDocument.find(args[:doc_id])
|
|
88
|
-
fail Blacklight::Exceptions::RecordNotFound if document[:layer_slug_s] != args[:doc_id]
|
|
89
|
-
download = "Geoblacklight::#{args[:download_type].capitalize}Download"
|
|
90
|
-
.constantize.new(document, timeout: args[:timeout].to_i)
|
|
91
|
-
download.get
|
|
92
|
-
Rails.logger.info "Successfully downloaded #{download.file_name}"
|
|
93
|
-
Rails.logger.info "#{Geoblacklight::ShapefileDownload.file_path}"
|
|
94
|
-
rescue Geoblacklight::Exceptions::ExternalDownloadFailed => error
|
|
95
|
-
Rails.logger.error error.message + ' ' + error.url
|
|
96
|
-
rescue NameError
|
|
97
|
-
Rails.logger.error "Could not find that download type \"#{args[:download_type]}\""
|
|
85
|
+
task :precache, [:doc_id, :download_type, :timeout] => [:environment] do |_t, args|
|
|
86
|
+
unless args[:doc_id] && args[:download_type] && args[:timeout]
|
|
87
|
+
fail 'Please supply required arguments [document_id, download_type and timeout]'
|
|
98
88
|
end
|
|
89
|
+
document = Geoblacklight::SolrDocument.find(args[:doc_id])
|
|
90
|
+
fail Blacklight::Exceptions::RecordNotFound if document[:layer_slug_s] != args[:doc_id]
|
|
91
|
+
download = "Geoblacklight::#{args[:download_type].capitalize}Download"
|
|
92
|
+
.constantize.new(document, timeout: args[:timeout].to_i)
|
|
93
|
+
download.get
|
|
94
|
+
Rails.logger.info "Successfully downloaded #{download.file_name}"
|
|
95
|
+
Rails.logger.info Geoblacklight::ShapefileDownload.file_path.to_s
|
|
96
|
+
rescue Geoblacklight::Exceptions::ExternalDownloadFailed => error
|
|
97
|
+
Rails.logger.error error.message + ' ' + error.url
|
|
98
|
+
rescue NameError
|
|
99
|
+
Rails.logger.error "Could not find that download type \"#{args[:download_type]}\""
|
|
99
100
|
end
|
|
100
101
|
end
|
|
101
102
|
|
|
102
103
|
namespace :solr do
|
|
103
|
-
desc
|
|
104
|
+
desc 'Put sample data into solr'
|
|
104
105
|
task :seed => :environment do
|
|
105
106
|
Rake::Task['geoblacklight:index:seed'].invoke
|
|
106
107
|
end
|