active-fedora 5.6.3 → 5.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/Gemfile +1 -1
- data/active-fedora.gemspec +1 -1
- data/lib/active_fedora/nokogiri_datastream.rb +26 -6
- data/lib/active_fedora/version.rb +1 -1
- data/solr/conf/schema.xml +1 -10
- data/spec/spec_helper.rb +0 -3
- data/spec/unit/om_datastream_spec.rb +2 -1
- metadata +6 -28
- checksums.yaml.gz.sig +0 -3
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d203bb23166b8052663ce948c2abf70dff30c060
|
4
|
+
data.tar.gz: f2c73e2fc4d6fc6ce52686864c3f07d7c1cd951e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ad8ede6c8e065cccfa12c8b3e6675bb5c9cff1c3f766c7f2cf60d871069df7087be41857df4556751a13f9e93871fbb6e23626b9364929593d260bf6e1f99ea
|
7
|
+
data.tar.gz: e30d9a768d58a756dfee0bf8cfa431a00aaca87a70f561b84c36cff1c700ef874ac7db68d482400cb389615ca30582f46366f72a2188e69dc3823d1c6ae46bf3
|
data/Gemfile
CHANGED
data/active-fedora.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.add_dependency("activesupport", '>= 3.0.0')
|
24
24
|
s.add_dependency("builder", '~> 3.0.0')
|
25
25
|
s.add_dependency("mediashelf-loggable")
|
26
|
-
s.add_dependency("rubydora", '~>1.
|
26
|
+
s.add_dependency("rubydora", '~>1.6')
|
27
27
|
s.add_dependency("rdf")
|
28
28
|
s.add_dependency("rdf-rdfxml", '~>0.3.8')
|
29
29
|
s.add_dependency("deprecation")
|
@@ -63,6 +63,9 @@ module ActiveFedora
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def ng_xml=(new_xml)
|
66
|
+
# before we set ng_xml, we load the datastream so we know if the new value differs.
|
67
|
+
local_or_remote_content(true)
|
68
|
+
|
66
69
|
case new_xml
|
67
70
|
when Nokogiri::XML::Document
|
68
71
|
self.content=new_xml.to_xml
|
@@ -95,22 +98,39 @@ module ActiveFedora
|
|
95
98
|
def metadata?
|
96
99
|
true
|
97
100
|
end
|
101
|
+
|
102
|
+
def local_or_remote_content(ensure_fetch = true)
|
103
|
+
@content = to_xml if ng_xml_changed? || autocreate?
|
104
|
+
super
|
105
|
+
end
|
98
106
|
|
99
|
-
def
|
100
|
-
|
107
|
+
def autocreate?
|
108
|
+
changed_attributes.has_key? :profile
|
101
109
|
end
|
102
110
|
|
103
111
|
def datastream_content
|
104
112
|
@datastream_content ||= Nokogiri::XML(super).to_xml {|config| config.no_declaration}.strip
|
105
113
|
end
|
106
114
|
|
107
|
-
def content=(
|
108
|
-
|
109
|
-
|
115
|
+
def content=(new_content)
|
116
|
+
if inline?
|
117
|
+
# inline datastreams may be transformed by fedora 3, so we test for equivalence instead of equality
|
118
|
+
if !EquivalentXml.equivalent?(datastream_content, new_content)
|
119
|
+
ng_xml_will_change!
|
120
|
+
@ng_xml = Nokogiri::XML::Document.parse(new_content)
|
121
|
+
super(@ng_xml.to_s)
|
122
|
+
end
|
123
|
+
else
|
124
|
+
if datastream_content != new_content
|
125
|
+
ng_xml_will_change!
|
126
|
+
@ng_xml = Nokogiri::XML::Document.parse(new_content)
|
127
|
+
super(@ng_xml.to_s)
|
128
|
+
end
|
129
|
+
end
|
110
130
|
end
|
111
131
|
|
112
132
|
def content_changed?
|
113
|
-
return false if
|
133
|
+
return false if !xml_loaded
|
114
134
|
super
|
115
135
|
end
|
116
136
|
|
data/solr/conf/schema.xml
CHANGED
@@ -168,20 +168,13 @@
|
|
168
168
|
enablePositionIncrements=true ensures that a 'gap' is left to
|
169
169
|
allow for accurate phrase queries.
|
170
170
|
-->
|
171
|
-
<filter class="solr.StopFilterFactory"
|
172
|
-
ignoreCase="true"
|
173
|
-
words="stopwords.txt"
|
174
|
-
enablePositionIncrements="true"
|
175
|
-
/>
|
176
171
|
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
|
177
172
|
<filter class="solr.LowerCaseFilterFactory"/>
|
178
173
|
<filter class="solr.SnowballPorterFilterFactory" language="English"/>
|
179
174
|
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
|
180
175
|
</analyzer>
|
181
176
|
<analyzer type="query">
|
182
|
-
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
183
|
-
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
|
184
|
-
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
|
177
|
+
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
185
178
|
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
|
186
179
|
<filter class="solr.LowerCaseFilterFactory"/>
|
187
180
|
<filter class="solr.SnowballPorterFilterFactory" language="English"/>
|
@@ -195,8 +188,6 @@
|
|
195
188
|
<fieldType name="textTight" class="solr.TextField" positionIncrementGap="100" >
|
196
189
|
<analyzer>
|
197
190
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
198
|
-
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
|
199
|
-
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
|
200
191
|
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
|
201
192
|
<filter class="solr.LowerCaseFilterFactory"/>
|
202
193
|
<filter class="solr.SnowballPorterFilterFactory" language="English"/>
|
data/spec/spec_helper.rb
CHANGED
@@ -21,7 +21,7 @@ describe ActiveFedora::OmDatastream do
|
|
21
21
|
before(:each) do
|
22
22
|
@mock_inner = mock('inner object')
|
23
23
|
@mock_repo = mock('repository')
|
24
|
-
@mock_repo.stub(:datastream_dissemination=>'My Content', :config=>{})
|
24
|
+
@mock_repo.stub(:datastream_dissemination=>'My Content', :config=>{}, :datastream=>'')
|
25
25
|
@mock_inner.stub(:repository).and_return(@mock_repo)
|
26
26
|
@mock_inner.stub(:pid)
|
27
27
|
@mock_inner.stub(:new? => false)
|
@@ -173,6 +173,7 @@ describe ActiveFedora::OmDatastream do
|
|
173
173
|
it "should persist the product of .to_xml in fedora" do
|
174
174
|
@mock_repo.stub(:datastream).and_return('')
|
175
175
|
@test_ds.stub(:new? => true)
|
176
|
+
@test_ds.stub(:ng_xml_changed? => true)
|
176
177
|
@test_ds.stub(:to_xml => "fake xml")
|
177
178
|
@mock_repo.should_receive(:add_datastream).with(:pid => nil, :dsid => 'descMetadata', :versionable => true, :content => 'fake xml', :controlGroup => 'X', :dsState => 'A', :mimeType=>'text/xml')
|
178
179
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active-fedora
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Zumwalt
|
@@ -9,30 +9,8 @@ authors:
|
|
9
9
|
- Justin Coyne
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
|
-
cert_chain:
|
13
|
-
-
|
14
|
-
-----BEGIN CERTIFICATE-----
|
15
|
-
MIIDaDCCAlCgAwIBAgIBATANBgkqhkiG9w0BAQUFADA9MQ4wDAYDVQQDDAVjaHJp
|
16
|
-
czEVMBMGCgmSJomT8ixkARkWBWNiZWVyMRQwEgYKCZImiZPyLGQBGRYEaW5mbzAe
|
17
|
-
Fw0xMzAzMDcwNDI1MzRaFw0xNDAzMDcwNDI1MzRaMD0xDjAMBgNVBAMMBWNocmlz
|
18
|
-
MRUwEwYKCZImiZPyLGQBGRYFY2JlZXIxFDASBgoJkiaJk/IsZAEZFgRpbmZvMIIB
|
19
|
-
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2UC2Jw9BQ7bNTyVHaxGKbCqV
|
20
|
-
H+BggkU9CWOBB8YA7j2ebcAjRlj6AemKWHB0fPEi9qmGaE1bMbus8IJbFcjkZNqG
|
21
|
-
6yHVdOq9tacSH4iiEdH3QioWSte0zY7vwD9u92QLaNzUAm9yjIYF6ZDNM/dl25Hb
|
22
|
-
UYDURJXfLOKe3AivodRujsHRxDLFpS6FjdmwB9m8N2JBs/uOrUULB48aaa36pWWE
|
23
|
-
w4rhqT9kOpZl8BRdE/pTrePlQGDZ8Oe74gVWJth4lavtMaPP+UqHigmlnFvWO9+D
|
24
|
-
a+9q1qwvQ3ySYRJIACIsYaY6rlhZ6i+PGKhbCnG6at6bC9TVu2JfKbC/LBP9mwID
|
25
|
-
AQABo3MwcTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU61dLp5FY
|
26
|
-
qfqrGhr0V8WPGwAIEKQwGwYDVR0RBBQwEoEQY2hyaXNAY2JlZXIuaW5mbzAbBgNV
|
27
|
-
HRIEFDASgRBjaHJpc0BjYmVlci5pbmZvMA0GCSqGSIb3DQEBBQUAA4IBAQBuQW5N
|
28
|
-
6NaEla5fJftOPCecLSB5z8oS+fAO8LbfcUqHSo+y/1ZkN8kF8Y1SaoqPpqxuOZ4g
|
29
|
-
zX+X6k0gJHLKHTNufTaLhORd66Tp1raoW2qqKEcoshOcoQyw/mh9KYLVaQEX8US8
|
30
|
-
0yZ9dRMWFtRjwvkvueNMzLZidH+GsaDq/bxR9/9PAv+4RxQRYw+nrAglf2DxINSI
|
31
|
-
o8CdBnIKvzS1JRgM172NHIwScyJdDFWxfBh1CTG9VRXTwQfyQmM0h1GThWYcdNw7
|
32
|
-
W4KPvarE4dgxT4TXIIKkh/K/Z9yaYt73biInVukEI9H2HHWkuAyblxg1jcR/zy+w
|
33
|
-
K27NJ2vhSpx2PPhb
|
34
|
-
-----END CERTIFICATE-----
|
35
|
-
date: 2013-04-11 00:00:00.000000000 Z
|
12
|
+
cert_chain: []
|
13
|
+
date: 2013-10-07 00:00:00.000000000 Z
|
36
14
|
dependencies:
|
37
15
|
- !ruby/object:Gem::Dependency
|
38
16
|
name: rsolr
|
@@ -152,14 +130,14 @@ dependencies:
|
|
152
130
|
requirements:
|
153
131
|
- - ~>
|
154
132
|
- !ruby/object:Gem::Version
|
155
|
-
version: '1.
|
133
|
+
version: '1.6'
|
156
134
|
type: :runtime
|
157
135
|
prerelease: false
|
158
136
|
version_requirements: !ruby/object:Gem::Requirement
|
159
137
|
requirements:
|
160
138
|
- - ~>
|
161
139
|
- !ruby/object:Gem::Version
|
162
|
-
version: '1.
|
140
|
+
version: '1.6'
|
163
141
|
- !ruby/object:Gem::Dependency
|
164
142
|
name: rdf
|
165
143
|
requirement: !ruby/object:Gem::Requirement
|
@@ -552,7 +530,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
552
530
|
version: '0'
|
553
531
|
requirements: []
|
554
532
|
rubyforge_project: rubyfedora
|
555
|
-
rubygems_version: 2.0.
|
533
|
+
rubygems_version: 2.0.3
|
556
534
|
signing_key:
|
557
535
|
specification_version: 4
|
558
536
|
summary: A convenience libary for manipulating documents in the Fedora Repository.
|
checksums.yaml.gz.sig
DELETED
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
Binary file
|