curation_concerns 0.6.0 → 0.7.0
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/.gitignore +1 -1
- data/.rubocop.yml +6 -0
- data/Gemfile +1 -2
- data/RELEASING.md +3 -2
- data/Rakefile +15 -14
- data/VERSION +1 -1
- data/app/controllers/concerns/curation_concerns/curation_concern_controller.rb +1 -1
- data/app/controllers/concerns/curation_concerns/parent_container.rb +1 -1
- data/app/renderers/curation_concerns/attribute_renderer.rb +1 -1
- data/curation_concerns.gemspec +2 -0
- data/lib/curation_concerns/rails/routes.rb +19 -7
- data/lib/curation_concerns/version.rb +1 -1
- data/solr/config/_rest_managed.json +3 -0
- data/solr/config/admin-extra.html +31 -0
- data/solr/config/elevate.xml +36 -0
- data/solr/config/mapping-ISOLatin1Accent.txt +246 -0
- data/solr/config/protwords.txt +21 -0
- data/solr/config/schema.xml +372 -0
- data/solr/config/scripts.conf +24 -0
- data/solr/config/solrconfig.xml +300 -0
- data/solr/config/spellings.txt +2 -0
- data/solr/config/stopwords.txt +58 -0
- data/solr/config/stopwords_en.txt +58 -0
- data/solr/config/synonyms.txt +31 -0
- data/solr/config/xslt/example.xsl +132 -0
- data/solr/config/xslt/example_atom.xsl +67 -0
- data/solr/config/xslt/example_rss.xsl +66 -0
- data/solr/config/xslt/luke.xsl +337 -0
- data/spec/actors/curation_concerns/work_actor_spec.rb +1 -1
- data/spec/controllers/curation_concerns/file_sets_controller_spec.rb +23 -0
- data/spec/models/curation_concerns/collection_behavior_spec.rb +2 -0
- data/spec/models/file_set_spec.rb +1 -1
- data/spec/renderers/curation_concerns/attribute_renderer_spec.rb +12 -0
- data/spec/test_app_templates/Gemfile.extra +0 -3
- data/spec/views/curation_concerns/base/_attributes.html.erb_spec.rb +1 -1
- metadata +48 -6
- data/config/jetty.yml +0 -5
- data/tasks/jetty.rake +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7af44881c5c91d837ca80398c54f3e52fd686b01
|
4
|
+
data.tar.gz: d4186500d7ca262837a72912a0e681b83fac149f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa316af1763c1a5fd5fe369fd1d88c33b42ff7a5b4f14e8b63191de19862707bc82c3f3f0420c93d0ca9e9c26a9a4406fd400f866559e6201969f1c55dd7a56a
|
7
|
+
data.tar.gz: 243f21c6b7cea9a5fa6b18de63a373a7a40461fda1d3551490b1a4c17051dcc112e550e109ef4d55d802dc48dde368db8b0b2279eb4a1594eec4b0cee4eb671b
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -21,6 +21,9 @@ Performance/RedundantBlockCall:
|
|
21
21
|
Exclude:
|
22
22
|
- 'curation_concerns-models/lib/curation_concerns/null_logger.rb'
|
23
23
|
|
24
|
+
Performance/RedundantMerge:
|
25
|
+
Enabled: false
|
26
|
+
|
24
27
|
Lint/AssignmentInCondition:
|
25
28
|
Exclude:
|
26
29
|
- 'curation_concerns-models/app/services/curation_concerns/persist_derivatives.rb'
|
@@ -66,6 +69,9 @@ Metrics/ModuleLength:
|
|
66
69
|
- 'app/helpers/curation_concerns/curation_concerns_helper_behavior.rb'
|
67
70
|
- 'curation_concerns-models/app/models/concerns/curation_concerns/solr_document_behavior.rb'
|
68
71
|
|
72
|
+
Style/ZeroLengthPredicate:
|
73
|
+
Enabled: false
|
74
|
+
|
69
75
|
Style/BlockDelimiters:
|
70
76
|
Exclude:
|
71
77
|
- 'spec/**/*'
|
data/Gemfile
CHANGED
@@ -15,13 +15,12 @@ group :development, :test do
|
|
15
15
|
gem 'pry-byebug' unless ENV['CI']
|
16
16
|
end
|
17
17
|
|
18
|
-
|
19
18
|
# BEGIN ENGINE_CART BLOCK
|
20
19
|
# engine_cart: 0.8.0
|
21
20
|
# engine_cart stanza: 0.8.0
|
22
21
|
# the below comes from engine_cart, a gem used to test this Rails engine gem in the context of a Rails app.
|
23
22
|
file = File.expand_path("Gemfile", ENV['ENGINE_CART_DESTINATION'] || ENV['RAILS_ROOT'] || File.expand_path(".internal_test_app", File.dirname(__FILE__)))
|
24
|
-
if File.
|
23
|
+
if File.exist?(file)
|
25
24
|
begin
|
26
25
|
eval_gemfile file
|
27
26
|
rescue Bundler::GemfileError => e
|
data/RELEASING.md
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
* Bump version number in VERSION
|
2
|
-
* Release the gem to rubygems.org: rake all:release
|
1
|
+
* Bump version number in `VERSION`
|
2
|
+
* Release the gem to rubygems.org: `rake all:release`
|
3
|
+
* `git push`
|
data/Rakefile
CHANGED
@@ -1,17 +1,13 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
2
|
require 'bundler/setup'
|
3
3
|
require 'rspec/core/rake_task'
|
4
|
-
require 'jettywrapper'
|
5
4
|
require 'engine_cart/rake_task'
|
6
5
|
require 'rubocop/rake_task'
|
6
|
+
require 'solr_wrapper'
|
7
|
+
require 'fcrepo_wrapper'
|
7
8
|
|
8
9
|
Dir.glob('tasks/*.rake').each { |r| import r }
|
9
10
|
|
10
|
-
# This makes it possible to run curation_concerns:jetty:config from here.
|
11
|
-
import 'curation_concerns-models/lib/tasks/curation_concerns-models_tasks.rake'
|
12
|
-
|
13
|
-
Jettywrapper.hydra_jetty_version = 'v8.6.0'
|
14
|
-
|
15
11
|
desc 'Run style checker'
|
16
12
|
RuboCop::RakeTask.new(:rubocop) do |task|
|
17
13
|
task.requires << 'rubocop-rspec'
|
@@ -23,15 +19,20 @@ task spec: :rubocop do
|
|
23
19
|
RSpec::Core::RakeTask.new(:spec)
|
24
20
|
end
|
25
21
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
22
|
+
desc 'Spin up Solr & Fedora and run the test suite'
|
23
|
+
task ci: ['engine_cart:generate'] do
|
24
|
+
# TODO: set port to nil (random port)
|
25
|
+
solr_params = { port: '8985', verbose: true, managed: true }
|
26
|
+
fcrepo_params = { port: '8986', verbose: true, managed: true }
|
27
|
+
SolrWrapper.wrap(solr_params) do |solr|
|
28
|
+
ENV['SOLR_TEST_PORT'] = solr.port
|
29
|
+
solr.with_collection(name: 'hydra-test', dir: File.join(File.expand_path('.', File.dirname(__FILE__)), 'solr', 'config')) do
|
30
|
+
FcrepoWrapper.wrap(fcrepo_params) do |fcrepo|
|
31
|
+
ENV['FCREPO_TEST_PORT'] = fcrepo.port
|
32
|
+
Rake::Task['spec'].invoke
|
33
|
+
end
|
34
|
+
end
|
33
35
|
end
|
34
|
-
fail "test failures: #{error}" if error
|
35
36
|
end
|
36
37
|
|
37
38
|
task clean: 'engine_cart:clean'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.7.0
|
@@ -4,7 +4,7 @@ module CurationConcerns::CurationConcernController
|
|
4
4
|
include Blacklight::AccessControls::Catalog
|
5
5
|
|
6
6
|
included do
|
7
|
-
copy_blacklight_config_from(CatalogController)
|
7
|
+
copy_blacklight_config_from(::CatalogController)
|
8
8
|
include CurationConcerns::ThemedLayoutController
|
9
9
|
with_themed_layout '1_column'
|
10
10
|
helper CurationConcerns::AbilityHelper
|
@@ -22,7 +22,7 @@ module CurationConcerns::ParentContainer
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def parent_id
|
25
|
-
@parent_id ||= new_or_create? ? params[:parent_id] :
|
25
|
+
@parent_id ||= new_or_create? ? params[:parent_id] : lookup_parent_from_child.id
|
26
26
|
end
|
27
27
|
|
28
28
|
protected
|
data/curation_concerns.gemspec
CHANGED
@@ -26,6 +26,8 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_dependency 'blacklight_advanced_search', '~> 6.0'
|
27
27
|
spec.add_dependency 'rails_autolink'
|
28
28
|
|
29
|
+
spec.add_development_dependency 'solr_wrapper', '~> 0.4'
|
30
|
+
spec.add_development_dependency 'fcrepo_wrapper', '~> 0.1'
|
29
31
|
spec.add_development_dependency "devise", "~> 3.0"
|
30
32
|
spec.add_development_dependency "bundler", "~> 1.6"
|
31
33
|
spec.add_development_dependency "rake"
|
@@ -1,12 +1,17 @@
|
|
1
1
|
module ActionDispatch::Routing
|
2
2
|
class Mapper
|
3
|
-
|
3
|
+
# @yield If a block is passed it is yielded for each curation_concern
|
4
|
+
# @example
|
5
|
+
# curation_concerns_basic_routes do
|
6
|
+
# concerns :exportable
|
7
|
+
# end
|
8
|
+
def curation_concerns_basic_routes(&block)
|
4
9
|
resources :downloads, only: :show
|
5
10
|
resources :upload_sets, only: [:edit, :update]
|
6
11
|
|
7
12
|
namespace :curation_concerns, path: :concern do
|
8
|
-
|
9
|
-
namespaced_resources curation_concern_name, except: [:index]
|
13
|
+
concerns_to_route.each do |curation_concern_name|
|
14
|
+
namespaced_resources curation_concern_name, except: [:index], &block
|
10
15
|
end
|
11
16
|
|
12
17
|
resources :permissions, only: [] do
|
@@ -63,20 +68,27 @@ module ActionDispatch::Routing
|
|
63
68
|
ROUTE_OPTIONS = { 'curation_concerns' => { path: :concern } }.freeze
|
64
69
|
|
65
70
|
# Namespaces routes appropriately
|
66
|
-
# @example
|
71
|
+
# @example namespaced_resources("curation_concerns/generic_work") is equivalent to
|
67
72
|
# namespace "curation_concerns", path: :concern do
|
68
73
|
# resources "generic_work", except: [:index]
|
69
74
|
# end
|
70
|
-
def namespaced_resources(target, opts = {})
|
75
|
+
def namespaced_resources(target, opts = {}, &block)
|
71
76
|
if target.include?('/')
|
72
77
|
the_namespace = target[0..target.index('/') - 1]
|
73
78
|
new_target = target[target.index('/') + 1..-1]
|
74
79
|
namespace the_namespace, ROUTE_OPTIONS.fetch(the_namespace, nil) do
|
75
|
-
namespaced_resources(new_target, opts)
|
80
|
+
namespaced_resources(new_target, opts, &block)
|
76
81
|
end
|
77
82
|
else
|
78
|
-
resources target, opts
|
83
|
+
resources target, opts do
|
84
|
+
yield if block_given?
|
85
|
+
end
|
79
86
|
end
|
80
87
|
end
|
88
|
+
|
89
|
+
# @return [Array<String>] the list of works to build routes for
|
90
|
+
def concerns_to_route
|
91
|
+
CurationConcerns.config.registered_curation_concern_types.map(&:tableize)
|
92
|
+
end
|
81
93
|
end
|
82
94
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<!--
|
2
|
+
Licensed to the Apache Software Foundation (ASF) under one or more
|
3
|
+
contributor license agreements. See the NOTICE file distributed with
|
4
|
+
this work for additional information regarding copyright ownership.
|
5
|
+
The ASF licenses this file to You under the Apache License, Version 2.0
|
6
|
+
(the "License"); you may not use this file except in compliance with
|
7
|
+
the License. You may obtain a copy of the License at
|
8
|
+
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
See the License for the specific language governing permissions and
|
15
|
+
limitations under the License.
|
16
|
+
-->
|
17
|
+
|
18
|
+
<!-- The content of this page will be statically included into the top
|
19
|
+
of the admin page. Uncomment this as an example to see there the content
|
20
|
+
will show up.
|
21
|
+
|
22
|
+
<hr>
|
23
|
+
<i>This line will appear before the first table</i>
|
24
|
+
<tr>
|
25
|
+
<td colspan="2">
|
26
|
+
This row will be appended to the end of the first table
|
27
|
+
</td>
|
28
|
+
</tr>
|
29
|
+
<hr>
|
30
|
+
|
31
|
+
-->
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2
|
+
<!--
|
3
|
+
Licensed to the Apache Software Foundation (ASF) under one or more
|
4
|
+
contributor license agreements. See the NOTICE file distributed with
|
5
|
+
this work for additional information regarding copyright ownership.
|
6
|
+
The ASF licenses this file to You under the Apache License, Version 2.0
|
7
|
+
(the "License"); you may not use this file except in compliance with
|
8
|
+
the License. You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
-->
|
18
|
+
|
19
|
+
<!-- If this file is found in the config directory, it will only be
|
20
|
+
loaded once at startup. If it is found in Solr's data
|
21
|
+
directory, it will be re-loaded every commit.
|
22
|
+
-->
|
23
|
+
|
24
|
+
<elevate>
|
25
|
+
<query text="foo bar">
|
26
|
+
<doc id="1" />
|
27
|
+
<doc id="2" />
|
28
|
+
<doc id="3" />
|
29
|
+
</query>
|
30
|
+
|
31
|
+
<query text="ipod">
|
32
|
+
<doc id="MA147LL/A" /> <!-- put the actual ipod at the top -->
|
33
|
+
<doc id="IW-02" exclude="true" /> <!-- exclude this cable -->
|
34
|
+
</query>
|
35
|
+
|
36
|
+
</elevate>
|
@@ -0,0 +1,246 @@
|
|
1
|
+
# The ASF licenses this file to You under the Apache License, Version 2.0
|
2
|
+
# (the "License"); you may not use this file except in compliance with
|
3
|
+
# the License. You may obtain a copy of the License at
|
4
|
+
#
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
#
|
7
|
+
# Unless required by applicable law or agreed to in writing, software
|
8
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
9
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
10
|
+
# See the License for the specific language governing permissions and
|
11
|
+
# limitations under the License.
|
12
|
+
|
13
|
+
# Syntax:
|
14
|
+
# "source" => "target"
|
15
|
+
# "source".length() > 0 (source cannot be empty.)
|
16
|
+
# "target".length() >= 0 (target can be empty.)
|
17
|
+
|
18
|
+
# example:
|
19
|
+
# "??" => "A"
|
20
|
+
# "\u00C0" => "A"
|
21
|
+
# "\u00C0" => "\u0041"
|
22
|
+
# "??" => "ss"
|
23
|
+
# "\t" => " "
|
24
|
+
# "\n" => ""
|
25
|
+
|
26
|
+
# ?? => A
|
27
|
+
"\u00C0" => "A"
|
28
|
+
|
29
|
+
# ?? => A
|
30
|
+
"\u00C1" => "A"
|
31
|
+
|
32
|
+
# ?? => A
|
33
|
+
"\u00C2" => "A"
|
34
|
+
|
35
|
+
# ?? => A
|
36
|
+
"\u00C3" => "A"
|
37
|
+
|
38
|
+
# ?? => A
|
39
|
+
"\u00C4" => "A"
|
40
|
+
|
41
|
+
# ?? => A
|
42
|
+
"\u00C5" => "A"
|
43
|
+
|
44
|
+
# ?? => AE
|
45
|
+
"\u00C6" => "AE"
|
46
|
+
|
47
|
+
# ?? => C
|
48
|
+
"\u00C7" => "C"
|
49
|
+
|
50
|
+
# ?? => E
|
51
|
+
"\u00C8" => "E"
|
52
|
+
|
53
|
+
# ?? => E
|
54
|
+
"\u00C9" => "E"
|
55
|
+
|
56
|
+
# ?? => E
|
57
|
+
"\u00CA" => "E"
|
58
|
+
|
59
|
+
# ?? => E
|
60
|
+
"\u00CB" => "E"
|
61
|
+
|
62
|
+
# ?? => I
|
63
|
+
"\u00CC" => "I"
|
64
|
+
|
65
|
+
# ?? => I
|
66
|
+
"\u00CD" => "I"
|
67
|
+
|
68
|
+
# ?? => I
|
69
|
+
"\u00CE" => "I"
|
70
|
+
|
71
|
+
# ?? => I
|
72
|
+
"\u00CF" => "I"
|
73
|
+
|
74
|
+
# ?? => IJ
|
75
|
+
"\u0132" => "IJ"
|
76
|
+
|
77
|
+
# ?? => D
|
78
|
+
"\u00D0" => "D"
|
79
|
+
|
80
|
+
# ?? => N
|
81
|
+
"\u00D1" => "N"
|
82
|
+
|
83
|
+
# ?? => O
|
84
|
+
"\u00D2" => "O"
|
85
|
+
|
86
|
+
# ?? => O
|
87
|
+
"\u00D3" => "O"
|
88
|
+
|
89
|
+
# ?? => O
|
90
|
+
"\u00D4" => "O"
|
91
|
+
|
92
|
+
# ?? => O
|
93
|
+
"\u00D5" => "O"
|
94
|
+
|
95
|
+
# ?? => O
|
96
|
+
"\u00D6" => "O"
|
97
|
+
|
98
|
+
# ?? => O
|
99
|
+
"\u00D8" => "O"
|
100
|
+
|
101
|
+
# ?? => OE
|
102
|
+
"\u0152" => "OE"
|
103
|
+
|
104
|
+
# ??
|
105
|
+
"\u00DE" => "TH"
|
106
|
+
|
107
|
+
# ?? => U
|
108
|
+
"\u00D9" => "U"
|
109
|
+
|
110
|
+
# ?? => U
|
111
|
+
"\u00DA" => "U"
|
112
|
+
|
113
|
+
# ?? => U
|
114
|
+
"\u00DB" => "U"
|
115
|
+
|
116
|
+
# ?? => U
|
117
|
+
"\u00DC" => "U"
|
118
|
+
|
119
|
+
# ?? => Y
|
120
|
+
"\u00DD" => "Y"
|
121
|
+
|
122
|
+
# ?? => Y
|
123
|
+
"\u0178" => "Y"
|
124
|
+
|
125
|
+
# ?? => a
|
126
|
+
"\u00E0" => "a"
|
127
|
+
|
128
|
+
# ?? => a
|
129
|
+
"\u00E1" => "a"
|
130
|
+
|
131
|
+
# ?? => a
|
132
|
+
"\u00E2" => "a"
|
133
|
+
|
134
|
+
# ?? => a
|
135
|
+
"\u00E3" => "a"
|
136
|
+
|
137
|
+
# ?? => a
|
138
|
+
"\u00E4" => "a"
|
139
|
+
|
140
|
+
# ?? => a
|
141
|
+
"\u00E5" => "a"
|
142
|
+
|
143
|
+
# ?? => ae
|
144
|
+
"\u00E6" => "ae"
|
145
|
+
|
146
|
+
# ?? => c
|
147
|
+
"\u00E7" => "c"
|
148
|
+
|
149
|
+
# ?? => e
|
150
|
+
"\u00E8" => "e"
|
151
|
+
|
152
|
+
# ?? => e
|
153
|
+
"\u00E9" => "e"
|
154
|
+
|
155
|
+
# ?? => e
|
156
|
+
"\u00EA" => "e"
|
157
|
+
|
158
|
+
# ?? => e
|
159
|
+
"\u00EB" => "e"
|
160
|
+
|
161
|
+
# ?? => i
|
162
|
+
"\u00EC" => "i"
|
163
|
+
|
164
|
+
# ?? => i
|
165
|
+
"\u00ED" => "i"
|
166
|
+
|
167
|
+
# ?? => i
|
168
|
+
"\u00EE" => "i"
|
169
|
+
|
170
|
+
# ?? => i
|
171
|
+
"\u00EF" => "i"
|
172
|
+
|
173
|
+
# ?? => ij
|
174
|
+
"\u0133" => "ij"
|
175
|
+
|
176
|
+
# ?? => d
|
177
|
+
"\u00F0" => "d"
|
178
|
+
|
179
|
+
# ?? => n
|
180
|
+
"\u00F1" => "n"
|
181
|
+
|
182
|
+
# ?? => o
|
183
|
+
"\u00F2" => "o"
|
184
|
+
|
185
|
+
# ?? => o
|
186
|
+
"\u00F3" => "o"
|
187
|
+
|
188
|
+
# ?? => o
|
189
|
+
"\u00F4" => "o"
|
190
|
+
|
191
|
+
# ?? => o
|
192
|
+
"\u00F5" => "o"
|
193
|
+
|
194
|
+
# ?? => o
|
195
|
+
"\u00F6" => "o"
|
196
|
+
|
197
|
+
# ?? => o
|
198
|
+
"\u00F8" => "o"
|
199
|
+
|
200
|
+
# ?? => oe
|
201
|
+
"\u0153" => "oe"
|
202
|
+
|
203
|
+
# ?? => ss
|
204
|
+
"\u00DF" => "ss"
|
205
|
+
|
206
|
+
# ?? => th
|
207
|
+
"\u00FE" => "th"
|
208
|
+
|
209
|
+
# ?? => u
|
210
|
+
"\u00F9" => "u"
|
211
|
+
|
212
|
+
# ?? => u
|
213
|
+
"\u00FA" => "u"
|
214
|
+
|
215
|
+
# ?? => u
|
216
|
+
"\u00FB" => "u"
|
217
|
+
|
218
|
+
# ?? => u
|
219
|
+
"\u00FC" => "u"
|
220
|
+
|
221
|
+
# ?? => y
|
222
|
+
"\u00FD" => "y"
|
223
|
+
|
224
|
+
# ?? => y
|
225
|
+
"\u00FF" => "y"
|
226
|
+
|
227
|
+
# ??? => ff
|
228
|
+
"\uFB00" => "ff"
|
229
|
+
|
230
|
+
# ??? => fi
|
231
|
+
"\uFB01" => "fi"
|
232
|
+
|
233
|
+
# ??? => fl
|
234
|
+
"\uFB02" => "fl"
|
235
|
+
|
236
|
+
# ??? => ffi
|
237
|
+
"\uFB03" => "ffi"
|
238
|
+
|
239
|
+
# ??? => ffl
|
240
|
+
"\uFB04" => "ffl"
|
241
|
+
|
242
|
+
# ??? => ft
|
243
|
+
"\uFB05" => "ft"
|
244
|
+
|
245
|
+
# ??? => st
|
246
|
+
"\uFB06" => "st"
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# The ASF licenses this file to You under the Apache License, Version 2.0
|
2
|
+
# (the "License"); you may not use this file except in compliance with
|
3
|
+
# the License. You may obtain a copy of the License at
|
4
|
+
#
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
#
|
7
|
+
# Unless required by applicable law or agreed to in writing, software
|
8
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
9
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
10
|
+
# See the License for the specific language governing permissions and
|
11
|
+
# limitations under the License.
|
12
|
+
|
13
|
+
#-----------------------------------------------------------------------
|
14
|
+
# Use a protected word file to protect against the stemmer reducing two
|
15
|
+
# unrelated words to the same base word.
|
16
|
+
|
17
|
+
# Some non-words that normally won't be encountered,
|
18
|
+
# just to test that they won't be stemmed.
|
19
|
+
dontstems
|
20
|
+
zwhacky
|
21
|
+
|