solrj_wrapper 0.0.2 → 1.0.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 +7 -0
- data/.coveralls.yml +1 -0
- data/.gitignore +2 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +13 -0
- data/.yardopts +3 -0
- data/Gemfile +1 -1
- data/README.rdoc +4 -1
- data/Rakefile +1 -5
- data/config/jetty.yml +5 -0
- data/lib/config/settings.yml +4 -4
- data/lib/solrj_wrapper/version.rb +1 -1
- data/lib/solrj_wrapper.rb +2 -3
- data/lib/tasks/ci.rake +40 -5
- data/lib/tasks/doc.rake +15 -19
- data/lib/tasks/spec.rake +17 -21
- data/solrj_wrapper.gemspec +1 -1
- data/spec/solrj_wrapper_spec.rb +56 -56
- data/spec/spec_helper.rb +7 -10
- metadata +64 -50
- data/.gitmodules +0 -3
- data/.rvmrc +0 -1
- data/lib/tasks/jetty.rake +0 -38
- data/lib/tasks/solrmarc.rake +0 -17
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b7989bdc10a4e4a7a95890a667b9f9b86518a917
|
4
|
+
data.tar.gz: 3954aed416588570e50fdc057d6a5c612138902a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 670af841e8fbf23f4299cb976ca769b4d21f7bc39d8990b78ce00272857c66d6c38cf4497777ca988ed3f783f54f6e33c32d041edf8006da5dfc98e62a22f0bd
|
7
|
+
data.tar.gz: 2d6f5d5021adbb3106eae923927f6afba7d3f53486601d3f9c21e62cb8365cb0ec99946280bf143f049a537103a132f8c28258efe3453b8fbdcb6dca1830a603
|
data/.coveralls.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
service_name: travis-ci
|
data/.gitignore
CHANGED
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
solrj_wrapper
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
jruby-1.7.9
|
data/.travis.yml
ADDED
data/.yardopts
ADDED
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
= SolrjWrapper
|
2
2
|
|
3
|
+
{<img src="https://travis-ci.org/sul-dlss/solrj_wrapper.svg" alt="Build Status" />}[https://travis-ci.org/sul-dlss/solrj_wrapper] {<img src="https://coveralls.io/repos/sul-dlss/solrj_wrapper/badge.png?branch=master" alt="Coverage Status" />}[https://coveralls.io/r/sul-dlss/solrj_wrapper?branch=master] {<img src="https://gemnasium.com/sul-dlss/solrj_wrapper.png" alt="Dependency Status" />}[https://gemnasium.com/sul-dlss/solrj_wrapper] {<img src="https://badge.fury.io/rb/solrj_wrapper.svg" alt="Gem Version" />}[http://badge.fury.io/rb/solrj_wrapper]
|
4
|
+
|
5
|
+
|
3
6
|
Ruby wrapper for interacting with Solrj objects, such as org.apache.solr.client.solrj.impl.StreamingUpdateSolrServer.
|
4
7
|
|
5
8
|
== Installation
|
@@ -24,7 +27,7 @@ Here are some examples of use cribbed from the specs:
|
|
24
27
|
|
25
28
|
sjw = SolrjWrapper.new(solrj_jar_dir, solr_url, solrj_queue_size, solrj_num_threads)
|
26
29
|
sjw.get_query_result_docs(q).should be_an_instance_of(Java::OrgApacheSolrCommon::SolrDocumentList)
|
27
|
-
sjw.
|
30
|
+
sjw.query_server.should be_an_instance_of(Java::OrgApacheSolrClientSolrjImpl::HttpSolrServer)
|
28
31
|
sid = Java::OrgApacheSolrCommon::SolrInputDocument.new
|
29
32
|
sjw.add_vals_to_fld(sid, "single", ["val"])
|
30
33
|
|
data/Rakefile
CHANGED
data/config/jetty.yml
ADDED
data/lib/config/settings.yml
CHANGED
@@ -8,16 +8,16 @@ prod:
|
|
8
8
|
|
9
9
|
# settings for local development
|
10
10
|
dev:
|
11
|
-
solr_url:
|
12
|
-
solrj_jar_dir:
|
11
|
+
solr_url: your_dev_solr_url
|
12
|
+
solrj_jar_dir: your_solrj_jar_dir
|
13
13
|
solrj_queue_size: 20
|
14
14
|
solrj_num_threads: 1
|
15
15
|
log_level: info
|
16
16
|
|
17
17
|
# settings for continuous integration
|
18
18
|
ci:
|
19
|
-
solr_url: http://
|
20
|
-
solrj_jar_dir: solrmarc/dist/lib
|
19
|
+
solr_url: http://localhost:8984/solr
|
20
|
+
solrj_jar_dir: solrmarc-sw/dist/lib
|
21
21
|
solrj_queue_size: 20
|
22
22
|
solrj_num_threads: 1
|
23
23
|
log_level: info
|
data/lib/solrj_wrapper.rb
CHANGED
@@ -22,9 +22,8 @@ class SolrjWrapper
|
|
22
22
|
@logger = Logger.new(log_file)
|
23
23
|
@logger.level = log_level
|
24
24
|
load_solrj(solrj_jar_dir)
|
25
|
-
@query_server = org.apache.solr.client.solrj.impl.
|
26
|
-
@streaming_update_server =
|
27
|
-
useJavabin!
|
25
|
+
@query_server = org.apache.solr.client.solrj.impl.HttpSolrServer.new(solr_url)
|
26
|
+
@streaming_update_server = @query_server
|
28
27
|
end
|
29
28
|
|
30
29
|
# send the query to Solr and get the SolrDocumentList from the response
|
data/lib/tasks/ci.rake
CHANGED
@@ -1,9 +1,44 @@
|
|
1
|
-
|
1
|
+
require 'jettywrapper'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
desc "run continuous integration suite (tests, coverage, docs)"
|
4
|
+
task :ci do
|
5
|
+
Rake::Task["sj_wrap:rspec_wrapped"].invoke
|
6
|
+
Rake::Task["sj_wrap:doc"].invoke
|
7
|
+
end
|
8
|
+
|
9
|
+
desc 'clone solrmarc-sw from sul-dlss github'
|
10
|
+
task :clone_solrmarc do
|
11
|
+
`git clone https://github.com/sul-dlss/solrmarc-sw.git` unless File.directory? 'solrmarc-sw'
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "set up Solr for testing in jetty"
|
15
|
+
task :setup_jetty => :clone_solrmarc do
|
16
|
+
Dir.chdir('solrmarc-sw') do
|
17
|
+
`git pull`
|
18
|
+
`ant ext_setup`
|
7
19
|
end
|
20
|
+
end
|
21
|
+
task :setup_test_solr => :setup_jetty
|
22
|
+
|
23
|
+
desc "start jetty for running tests"
|
24
|
+
task :run_jetty do
|
25
|
+
`rm -rf solrmarc-sw/test/jetty/solr/data/index`
|
26
|
+
jetty_dir = File.expand_path(File.dirname(__FILE__) + '../../../solrmarc-sw/test/jetty')
|
27
|
+
jetty_params = Jettywrapper.load_config.merge({:jetty_home => jetty_dir,
|
28
|
+
:solr_home => jetty_dir + '/solr',
|
29
|
+
:java_opts => "-Dsolr.data.dir=" + jetty_dir + "/solr/data",
|
30
|
+
:startup_wait => 45,
|
31
|
+
:jetty_port => 8984
|
32
|
+
})
|
33
|
+
error = Jettywrapper.start(jetty_params)
|
34
|
+
end
|
35
|
+
task :jetty_start => :run_jetty
|
36
|
+
task :start_jetty => :run_jetty
|
8
37
|
|
38
|
+
desc "stop jetty used for testing"
|
39
|
+
task :stop_jetty do
|
40
|
+
jetty_params = Jettywrapper.load_config.merge({:jetty_home => File.expand_path(File.dirname(__FILE__) + '../../../solrmarc-sw/test/jetty'),:startup_wait => 10})
|
41
|
+
error = Jettywrapper.stop(jetty_params)
|
9
42
|
end
|
43
|
+
|
44
|
+
task :jetty_stop => :stop_jetty
|
data/lib/tasks/doc.rake
CHANGED
@@ -1,23 +1,19 @@
|
|
1
1
|
require 'yard'
|
2
2
|
require 'yard/rake/yardoc_task'
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
project_root = File.expand_path(File.dirname(__FILE__) + "/../..")
|
9
|
-
doc_dest_dir = File.join(project_root, 'doc')
|
4
|
+
# Use yard to build docs
|
5
|
+
begin
|
6
|
+
project_root = File.expand_path(File.dirname(__FILE__) + "/../..")
|
7
|
+
doc_dest_dir = File.join(project_root, 'doc')
|
10
8
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
end
|
9
|
+
YARD::Rake::YardocTask.new(:doc) do |yt|
|
10
|
+
yt.files = Dir.glob(File.join(project_root, 'lib', '**', '*.rb')) +
|
11
|
+
[ File.join(project_root, 'README.rdoc') ]
|
12
|
+
yt.options = ['--output-dir', doc_dest_dir, '--readme', 'README.rdoc', '--title', 'SolrJ_Wrapper Documentation']
|
13
|
+
end
|
14
|
+
rescue LoadError
|
15
|
+
desc "Generate YARD Documentation"
|
16
|
+
task :doc do
|
17
|
+
abort "Please install the YARD gem to generate rdoc."
|
18
|
+
end
|
19
|
+
end
|
data/lib/tasks/spec.rake
CHANGED
@@ -1,26 +1,22 @@
|
|
1
1
|
require 'rspec/core/rake_task'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
error = Jettywrapper.wrap(jetty_params) do
|
17
|
-
Rake::Task['sj_wrap:rspec_plain'].invoke
|
18
|
-
end
|
19
|
-
raise "TEST FAILURES: #{error}" if error
|
20
|
-
end
|
21
|
-
|
22
|
-
RSpec::Core::RakeTask.new(:rspec_plain) do |spec|
|
23
|
-
spec.rspec_opts = ["-c", "-f progress", "-r ./spec/spec_helper.rb"]
|
3
|
+
desc "Run all specs, with jetty instance running"
|
4
|
+
task :rspec_wrapped => ['setup_jetty'] do
|
5
|
+
jetty_dir = File.expand_path(File.dirname(__FILE__) + '../../../solrmarc-sw/test/jetty')
|
6
|
+
require 'jettywrapper'
|
7
|
+
jetty_params = Jettywrapper.load_config.merge({
|
8
|
+
:jetty_home => jetty_dir,
|
9
|
+
:solr_home => jetty_dir + '/solr',
|
10
|
+
:java_opts => "-Dsolr.data.dir=" + jetty_dir + "/solr/data",
|
11
|
+
:jetty_port => 8984,
|
12
|
+
:startup_wait => 45
|
13
|
+
})
|
14
|
+
error = Jettywrapper.wrap(jetty_params) do
|
15
|
+
Rake::Task['rspec'].invoke
|
24
16
|
end
|
17
|
+
raise "TEST FAILURES: #{error}" if error
|
18
|
+
end
|
25
19
|
|
20
|
+
RSpec::Core::RakeTask.new(:rspec) do |spec|
|
21
|
+
spec.rspec_opts = ["-c", "-f progress", "-r ./spec/spec_helper.rb"]
|
26
22
|
end
|
data/solrj_wrapper.gemspec
CHANGED
@@ -25,8 +25,8 @@ Gem::Specification.new do |gem|
|
|
25
25
|
gem.add_development_dependency "yard"
|
26
26
|
# tests
|
27
27
|
gem.add_development_dependency 'rspec'
|
28
|
+
gem.add_development_dependency 'coveralls'
|
28
29
|
gem.add_development_dependency 'simplecov'
|
29
|
-
gem.add_development_dependency 'simplecov-rcov'
|
30
30
|
gem.add_development_dependency "jettywrapper"
|
31
31
|
|
32
32
|
end
|
data/spec/solrj_wrapper_spec.rb
CHANGED
@@ -8,25 +8,25 @@ describe SolrjWrapper do
|
|
8
8
|
end
|
9
9
|
|
10
10
|
it "should initialize a query_server object" do
|
11
|
-
@solrj_wrapper.query_server.
|
11
|
+
expect(@solrj_wrapper.query_server).to be_an_instance_of(Java::OrgApacheSolrClientSolrjImpl::HttpSolrServer)
|
12
12
|
end
|
13
13
|
|
14
14
|
context "get_query_result_docs" do
|
15
15
|
it "should return a SolrDocumentList object" do
|
16
16
|
q = org.apache.solr.client.solrj.SolrQuery.new
|
17
|
-
@solrj_wrapper.get_query_result_docs(q).
|
17
|
+
expect(@solrj_wrapper.get_query_result_docs(q)).to be_an_instance_of(Java::OrgApacheSolrCommon::SolrDocumentList)
|
18
18
|
end
|
19
19
|
|
20
20
|
it "should return an object of size 0 when there are no hits" do
|
21
21
|
q = org.apache.solr.client.solrj.SolrQuery.new
|
22
22
|
q.setQuery("zzzzzznohitszzzzzzzz")
|
23
|
-
@solrj_wrapper.get_query_result_docs(q).size.
|
23
|
+
expect(@solrj_wrapper.get_query_result_docs(q).size).to eq 0
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should return an object of size 0 when rows = 0" do
|
27
27
|
q = org.apache.solr.client.solrj.SolrQuery.new
|
28
28
|
q.setRows(0)
|
29
|
-
@solrj_wrapper.get_query_result_docs(q).size.
|
29
|
+
expect(@solrj_wrapper.get_query_result_docs(q).size).to eq 0
|
30
30
|
end
|
31
31
|
|
32
32
|
it "should return an object of size > 1 when there are hits and rows is > 0" do
|
@@ -35,67 +35,67 @@ describe SolrjWrapper do
|
|
35
35
|
@solrj_wrapper.add_doc_to_ix(sid, "test_rec")
|
36
36
|
@solrj_wrapper.commit
|
37
37
|
q = org.apache.solr.client.solrj.SolrQuery.new
|
38
|
-
@solrj_wrapper.get_query_result_docs(q).size.
|
38
|
+
expect(@solrj_wrapper.get_query_result_docs(q).size).not_to eq 0
|
39
39
|
@solrj_wrapper.empty_ix
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
it "should
|
44
|
-
@solrj_wrapper.streaming_update_server.
|
43
|
+
it "streaming_update_server should be an HttpSolrServer object" do
|
44
|
+
expect(@solrj_wrapper.streaming_update_server).to be_an_instance_of(Java::OrgApacheSolrClientSolrjImpl::HttpSolrServer)
|
45
45
|
end
|
46
46
|
|
47
47
|
context "add_vals_to_fld" do
|
48
48
|
it "should do nothing if the field name or value is nil or of size 0" do
|
49
49
|
sid = Java::OrgApacheSolrCommon::SolrInputDocument.new
|
50
50
|
@solrj_wrapper.add_vals_to_fld(sid, nil, ["val"])
|
51
|
-
sid.isEmpty.
|
51
|
+
expect(sid.isEmpty).to eq true
|
52
52
|
@solrj_wrapper.add_vals_to_fld(sid, "", ["val"])
|
53
|
-
sid.isEmpty.
|
53
|
+
expect(sid.isEmpty).to eq true
|
54
54
|
@solrj_wrapper.add_vals_to_fld(sid, "fldname", nil)
|
55
|
-
sid.isEmpty.
|
55
|
+
expect(sid.isEmpty).to eq true
|
56
56
|
@solrj_wrapper.add_vals_to_fld(sid, "fldname", [])
|
57
|
-
sid.isEmpty.
|
57
|
+
expect(sid.isEmpty).to eq true
|
58
58
|
end
|
59
59
|
|
60
60
|
it "should create a new field when none exists" do
|
61
61
|
sid = Java::OrgApacheSolrCommon::SolrInputDocument.new
|
62
62
|
@solrj_wrapper.add_vals_to_fld(sid, "single", ["val"])
|
63
63
|
vals = sid["single"].getValues
|
64
|
-
vals.size.
|
65
|
-
vals[0].
|
64
|
+
expect(vals.size).to eq 1
|
65
|
+
expect(vals[0]).to eq "val"
|
66
66
|
@solrj_wrapper.add_vals_to_fld(sid, "mult", ["val1", "val2"])
|
67
67
|
vals = sid["mult"].getValues
|
68
|
-
vals.size.
|
69
|
-
vals[0].
|
70
|
-
vals[1].
|
68
|
+
expect(vals.size).to eq 2
|
69
|
+
expect(vals[0]).to eq "val1"
|
70
|
+
expect(vals[1]).to eq "val2"
|
71
71
|
end
|
72
72
|
|
73
73
|
it "should keep the existing values when it adds a value to a field" do
|
74
74
|
sid = Java::OrgApacheSolrCommon::SolrInputDocument.new
|
75
75
|
@solrj_wrapper.add_vals_to_fld(sid, "fld", ["val"])
|
76
76
|
vals = sid["fld"].getValues
|
77
|
-
vals.size.
|
78
|
-
vals[0].
|
77
|
+
expect(vals.size).to eq 1
|
78
|
+
expect(vals[0]).to eq "val"
|
79
79
|
@solrj_wrapper.add_vals_to_fld(sid, "fld", ["val1", "val2"])
|
80
80
|
vals = sid["fld"].getValues
|
81
|
-
vals.size.
|
82
|
-
vals.contains("val").
|
83
|
-
vals.contains("val1").
|
84
|
-
vals.contains("val2").
|
81
|
+
expect(vals.size).to eq 3
|
82
|
+
expect(vals.contains("val")).not_to eq nil
|
83
|
+
expect(vals.contains("val1")).not_to eq nil
|
84
|
+
expect(vals.contains("val2")).not_to eq nil
|
85
85
|
end
|
86
86
|
|
87
87
|
it "should add all values, except those already present" do
|
88
88
|
sid = Java::OrgApacheSolrCommon::SolrInputDocument.new
|
89
89
|
@solrj_wrapper.add_vals_to_fld(sid, "fld", ["val"])
|
90
90
|
vals = sid["fld"].getValues
|
91
|
-
vals.size.
|
92
|
-
vals[0].
|
91
|
+
expect(vals.size).to eq 1
|
92
|
+
expect(vals[0]).to eq "val"
|
93
93
|
@solrj_wrapper.add_vals_to_fld(sid, "fld", ["val1", "val2", "val"])
|
94
94
|
vals = sid["fld"].getValues
|
95
|
-
vals.size.
|
96
|
-
vals.contains("val").
|
97
|
-
vals.contains("val1").
|
98
|
-
vals.contains("val2").
|
95
|
+
expect(vals.size).to eq 3
|
96
|
+
expect(vals.contains("val")).not_to eq nil
|
97
|
+
expect(vals.contains("val1")).not_to eq nil
|
98
|
+
expect(vals.contains("val2")).not_to eq nil
|
99
99
|
end
|
100
100
|
end # context add_vals_to_fld
|
101
101
|
|
@@ -103,21 +103,21 @@ describe SolrjWrapper do
|
|
103
103
|
it "should do nothing if the field name or value is nil or of size 0" do
|
104
104
|
sid = Java::OrgApacheSolrCommon::SolrInputDocument.new
|
105
105
|
@solrj_wrapper.add_val_to_fld(sid, nil, "val")
|
106
|
-
sid.isEmpty.
|
106
|
+
expect(sid.isEmpty).to eq true
|
107
107
|
@solrj_wrapper.add_val_to_fld(sid, "", "val")
|
108
|
-
sid.isEmpty.
|
108
|
+
expect(sid.isEmpty).to eq true
|
109
109
|
@solrj_wrapper.add_val_to_fld(sid, "fldname", nil)
|
110
|
-
sid.isEmpty.
|
110
|
+
expect(sid.isEmpty).to eq true
|
111
111
|
@solrj_wrapper.add_val_to_fld(sid, "fldname", [])
|
112
|
-
sid.isEmpty.
|
112
|
+
expect(sid.isEmpty).to eq true
|
113
113
|
end
|
114
114
|
|
115
115
|
it "should create a new field when none exists" do
|
116
116
|
sid = Java::OrgApacheSolrCommon::SolrInputDocument.new
|
117
117
|
@solrj_wrapper.add_val_to_fld(sid, "single", "val")
|
118
118
|
vals = sid["single"].getValues
|
119
|
-
vals.size.
|
120
|
-
vals[0].
|
119
|
+
expect(vals.size).to eq 1
|
120
|
+
expect(vals[0]).to eq "val"
|
121
121
|
end
|
122
122
|
|
123
123
|
it "should keep the existing values when it adds a value to a field" do
|
@@ -125,10 +125,10 @@ describe SolrjWrapper do
|
|
125
125
|
@solrj_wrapper.add_vals_to_fld(sid, "fld", ["val1", "val2"])
|
126
126
|
@solrj_wrapper.add_val_to_fld(sid, "fld", "val")
|
127
127
|
vals = sid["fld"].getValues
|
128
|
-
vals.size.
|
129
|
-
vals.contains("val").
|
130
|
-
vals.contains("val1").
|
131
|
-
vals.contains("val2").
|
128
|
+
expect(vals.size).to eq 3
|
129
|
+
expect(vals.contains("val")).not_to eq nil
|
130
|
+
expect(vals.contains("val1")).not_to eq nil
|
131
|
+
expect(vals.contains("val2")).not_to eq nil
|
132
132
|
end
|
133
133
|
|
134
134
|
it "should add all values, except those already present" do
|
@@ -136,10 +136,10 @@ describe SolrjWrapper do
|
|
136
136
|
@solrj_wrapper.add_vals_to_fld(sid, "fld", ["val1", "val2", "val"])
|
137
137
|
@solrj_wrapper.add_val_to_fld(sid, "fld", "val")
|
138
138
|
vals = sid["fld"].getValues
|
139
|
-
vals.size.
|
140
|
-
vals.contains("val").
|
141
|
-
vals.contains("val1").
|
142
|
-
vals.contains("val2").
|
139
|
+
expect(vals.size).to eq 3
|
140
|
+
expect(vals.contains("val")).not_to eq nil
|
141
|
+
expect(vals.contains("val1")).not_to eq nil
|
142
|
+
expect(vals.contains("val2")).not_to eq nil
|
143
143
|
end
|
144
144
|
end # context add_vals_to_fld
|
145
145
|
|
@@ -149,12 +149,12 @@ describe SolrjWrapper do
|
|
149
149
|
@solrj_wrapper.add_vals_to_fld(sid, "fld", ["val1", "val2", "val3"])
|
150
150
|
@solrj_wrapper.replace_field_values(sid, "fld", ["val4", "val5"])
|
151
151
|
vals = sid["fld"].getValues
|
152
|
-
vals.size.
|
153
|
-
vals.contains("val1").
|
154
|
-
vals.contains("val2").
|
155
|
-
vals.contains("val3").
|
156
|
-
vals.contains("val4").
|
157
|
-
vals.contains("val5").
|
152
|
+
expect(vals.size).to eq 2
|
153
|
+
expect(vals.contains("val1")).to eq false
|
154
|
+
expect(vals.contains("val2")).to eq false
|
155
|
+
expect(vals.contains("val3")).to eq false
|
156
|
+
expect(vals.contains("val4")).to eq true
|
157
|
+
expect(vals.contains("val5")).to eq true
|
158
158
|
end
|
159
159
|
|
160
160
|
it "should retain unchanged values" do
|
@@ -162,26 +162,26 @@ describe SolrjWrapper do
|
|
162
162
|
@solrj_wrapper.add_vals_to_fld(sid, "fld", ["val1", "val2"])
|
163
163
|
@solrj_wrapper.replace_field_values(sid, "fld", ["val2", "val3"])
|
164
164
|
vals = sid["fld"].getValues
|
165
|
-
vals.size.
|
166
|
-
vals.contains("val1").
|
167
|
-
vals.contains("val2").
|
168
|
-
vals.contains("val3").
|
165
|
+
expect(vals.size).to eq 2
|
166
|
+
expect(vals.contains("val1")).to eq false
|
167
|
+
expect(vals.contains("val2")).to eq true
|
168
|
+
expect(vals.contains("val3")).to eq true
|
169
169
|
end
|
170
170
|
|
171
171
|
it "should create a field when none existed before" do
|
172
172
|
sid = Java::OrgApacheSolrCommon::SolrInputDocument.new
|
173
|
-
sid["fld"].
|
173
|
+
expect(sid["fld"]).to eq nil
|
174
174
|
@solrj_wrapper.replace_field_values(sid, "fld", ["val1"])
|
175
175
|
vals = sid["fld"].getValues
|
176
|
-
vals.size.
|
177
|
-
vals.contains("val1").
|
176
|
+
expect(vals.size).to eq 1
|
177
|
+
expect(vals.contains("val1")).to eq true
|
178
178
|
end
|
179
179
|
|
180
180
|
it "should remove a field if there are no values to add" do
|
181
181
|
sid = Java::OrgApacheSolrCommon::SolrInputDocument.new
|
182
182
|
@solrj_wrapper.add_vals_to_fld(sid, "fld", ["val1", "val2"])
|
183
183
|
@solrj_wrapper.replace_field_values(sid, "fld", [])
|
184
|
-
sid["fld"].
|
184
|
+
expect(sid["fld"]).to eq nil
|
185
185
|
end
|
186
186
|
end
|
187
187
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,16 +1,13 @@
|
|
1
|
+
require 'coveralls'
|
2
|
+
Coveralls.wear!
|
3
|
+
|
1
4
|
# for test coverage
|
2
5
|
require 'simplecov'
|
3
|
-
|
4
|
-
class SimpleCov::Formatter::MergedFormatter
|
5
|
-
def format(result)
|
6
|
-
SimpleCov::Formatter::HTMLFormatter.new.format(result)
|
7
|
-
SimpleCov::Formatter::RcovFormatter.new.format(result)
|
8
|
-
end
|
9
|
-
end
|
10
|
-
SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter
|
6
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
11
7
|
SimpleCov.start do
|
12
|
-
add_filter "
|
13
|
-
add_filter "
|
8
|
+
add_filter "spec"
|
9
|
+
add_filter "config"
|
10
|
+
add_filter "lib/config"
|
14
11
|
end
|
15
12
|
|
16
13
|
require 'solrj_wrapper/settings'
|
metadata
CHANGED
@@ -1,91 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solrj_wrapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.0.2
|
4
|
+
version: 1.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Naomi Dushay
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-06-07 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
|
-
version_requirements:
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
17
16
|
requirements:
|
18
|
-
- -
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
requirement: !ruby/object:Gem::Requirement
|
21
|
+
requirements:
|
22
|
+
- - '>='
|
19
23
|
- !ruby/object:Gem::Version
|
20
24
|
version: '0'
|
21
|
-
none: false
|
22
|
-
requirement: *3808
|
23
25
|
prerelease: false
|
24
26
|
type: :development
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: rdoc
|
27
|
-
version_requirements:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
28
35
|
requirements:
|
29
|
-
- -
|
36
|
+
- - '>='
|
30
37
|
- !ruby/object:Gem::Version
|
31
38
|
version: '0'
|
32
|
-
none: false
|
33
|
-
requirement: *3826
|
34
39
|
prerelease: false
|
35
40
|
type: :development
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: yard
|
38
|
-
version_requirements:
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
44
|
requirements:
|
40
|
-
- -
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - '>='
|
41
51
|
- !ruby/object:Gem::Version
|
42
52
|
version: '0'
|
43
|
-
none: false
|
44
|
-
requirement: *3842
|
45
53
|
prerelease: false
|
46
54
|
type: :development
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
56
|
name: rspec
|
49
|
-
version_requirements:
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
50
63
|
requirements:
|
51
|
-
- -
|
64
|
+
- - '>='
|
52
65
|
- !ruby/object:Gem::Version
|
53
66
|
version: '0'
|
54
|
-
none: false
|
55
|
-
requirement: *3858
|
56
67
|
prerelease: false
|
57
68
|
type: :development
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
60
|
-
version_requirements:
|
70
|
+
name: coveralls
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
requirement: !ruby/object:Gem::Requirement
|
61
77
|
requirements:
|
62
|
-
- -
|
78
|
+
- - '>='
|
63
79
|
- !ruby/object:Gem::Version
|
64
80
|
version: '0'
|
65
|
-
none: false
|
66
|
-
requirement: *3874
|
67
81
|
prerelease: false
|
68
82
|
type: :development
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: simplecov
|
71
|
-
version_requirements:
|
84
|
+
name: simplecov
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
requirement: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - '>='
|
74
93
|
- !ruby/object:Gem::Version
|
75
94
|
version: '0'
|
76
|
-
none: false
|
77
|
-
requirement: *3890
|
78
95
|
prerelease: false
|
79
96
|
type: :development
|
80
97
|
- !ruby/object:Gem::Dependency
|
81
98
|
name: jettywrapper
|
82
|
-
version_requirements:
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
requirement: !ruby/object:Gem::Requirement
|
83
105
|
requirements:
|
84
|
-
- -
|
106
|
+
- - '>='
|
85
107
|
- !ruby/object:Gem::Version
|
86
108
|
version: '0'
|
87
|
-
none: false
|
88
|
-
requirement: *3906
|
89
109
|
prerelease: false
|
90
110
|
type: :development
|
91
111
|
description: Ruby wrapper for interacting with Solrj objects, such as org.apache.solr.client.solrj.impl.StreamingUpdateSolrServer
|
@@ -95,21 +115,23 @@ executables: []
|
|
95
115
|
extensions: []
|
96
116
|
extra_rdoc_files: []
|
97
117
|
files:
|
118
|
+
- .coveralls.yml
|
98
119
|
- .gitignore
|
99
|
-
- .
|
100
|
-
- .
|
120
|
+
- .ruby-gemset
|
121
|
+
- .ruby-version
|
122
|
+
- .travis.yml
|
123
|
+
- .yardopts
|
101
124
|
- Gemfile
|
102
125
|
- LICENSE
|
103
126
|
- README.rdoc
|
104
127
|
- Rakefile
|
128
|
+
- config/jetty.yml
|
105
129
|
- lib/config/settings.yml
|
106
130
|
- lib/solrj_wrapper.rb
|
107
131
|
- lib/solrj_wrapper/settings.rb
|
108
132
|
- lib/solrj_wrapper/version.rb
|
109
133
|
- lib/tasks/ci.rake
|
110
134
|
- lib/tasks/doc.rake
|
111
|
-
- lib/tasks/jetty.rake
|
112
|
-
- lib/tasks/solrmarc.rake
|
113
135
|
- lib/tasks/spec.rake
|
114
136
|
- solrj_wrapper.gemspec
|
115
137
|
- spec/solr/solr.xml
|
@@ -117,37 +139,29 @@ files:
|
|
117
139
|
- spec/spec_helper.rb
|
118
140
|
homepage:
|
119
141
|
licenses: []
|
142
|
+
metadata: {}
|
120
143
|
post_install_message:
|
121
144
|
rdoc_options: []
|
122
145
|
require_paths:
|
123
146
|
- lib
|
124
147
|
required_ruby_version: !ruby/object:Gem::Requirement
|
125
148
|
requirements:
|
126
|
-
- -
|
149
|
+
- - '>='
|
127
150
|
- !ruby/object:Gem::Version
|
128
|
-
segments:
|
129
|
-
- 0
|
130
|
-
hash: 2
|
131
151
|
version: '0'
|
132
|
-
none: false
|
133
152
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
153
|
requirements:
|
135
|
-
- -
|
154
|
+
- - '>='
|
136
155
|
- !ruby/object:Gem::Version
|
137
|
-
segments:
|
138
|
-
- 0
|
139
|
-
hash: 2
|
140
156
|
version: '0'
|
141
|
-
none: false
|
142
157
|
requirements: []
|
143
158
|
rubyforge_project:
|
144
|
-
rubygems_version:
|
159
|
+
rubygems_version: 2.2.0
|
145
160
|
signing_key:
|
146
|
-
specification_version:
|
161
|
+
specification_version: 4
|
147
162
|
summary: This gem must be run under JRuby, and also requires a directory containing SolrJ jars and solr url (see config/settings.yml)
|
148
163
|
test_files:
|
149
164
|
- spec/solr/solr.xml
|
150
165
|
- spec/solrj_wrapper_spec.rb
|
151
166
|
- spec/spec_helper.rb
|
152
167
|
has_rdoc:
|
153
|
-
...
|
data/.gitmodules
DELETED
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm use jruby-1.6.7@solrj_wrapper --create
|
data/lib/tasks/jetty.rake
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
require 'jettywrapper'
|
2
|
-
|
3
|
-
namespace :sj_wrap do
|
4
|
-
namespace :jetty do
|
5
|
-
|
6
|
-
desc "Modify test jetty solr to be multicore"
|
7
|
-
task :config => ['sj_wrap:solrmarc:setup_test_jetty'] do
|
8
|
-
|
9
|
-
# copy the solr.xml file for multi-core to test jetty solr
|
10
|
-
jetty_solr_dir = "solrmarc/test/jetty/solr"
|
11
|
-
cp('spec/solr/solr.xml', jetty_solr_dir, :verbose => true)
|
12
|
-
|
13
|
-
# set up solr dev and test conf directories
|
14
|
-
dev_conf_dir = "#{jetty_solr_dir}/dev/conf"
|
15
|
-
test_conf_dir = "#{jetty_solr_dir}/test/conf"
|
16
|
-
mkdir_p(dev_conf_dir) unless Dir.exists?(dev_conf_dir)
|
17
|
-
mkdir_p(test_conf_dir) unless Dir.exists?(test_conf_dir)
|
18
|
-
single_core_conf_dir = "#{jetty_solr_dir}/conf"
|
19
|
-
Dir["#{single_core_conf_dir}/*"].each { |f|
|
20
|
-
cp_r(f, dev_conf_dir, :verbose => true)
|
21
|
-
cp_r(f, test_conf_dir, :verbose => true)
|
22
|
-
}
|
23
|
-
|
24
|
-
require 'fileutils'
|
25
|
-
# remove single core conf directory
|
26
|
-
FileUtils.rm_rf("#{jetty_solr_dir}/conf/.", :verbose => true)
|
27
|
-
Dir.foreach(jetty_solr_dir + "/conf") { |f|
|
28
|
-
fn = File.join(jetty_solr_dir, f)
|
29
|
-
File.delete(fn) if f != '.' && f != '..'
|
30
|
-
}
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
desc "Copies the SOLR config files and starts up the test-jetty instance"
|
35
|
-
task :load => [:config, 'jetty:start']
|
36
|
-
|
37
|
-
end
|
38
|
-
end
|
data/lib/tasks/solrmarc.rake
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
namespace :sj_wrap do
|
2
|
-
namespace :solrmarc do
|
3
|
-
require 'ant'
|
4
|
-
|
5
|
-
desc "run ant dist_site target in solrmarc"
|
6
|
-
task :ant_dist_site do
|
7
|
-
ant '-f solrmarc/build.xml dist_site'
|
8
|
-
end
|
9
|
-
|
10
|
-
desc "run ant target to set up testing jetty per straight solrmarc"
|
11
|
-
task :setup_test_jetty do
|
12
|
-
ant '-f solrmarc/build.xml test_clean_site'
|
13
|
-
ant '-f solrmarc/build.xml site_setup_test_jetty'
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
17
|
-
end
|