dor-services 5.25.0 → 5.26.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ee1ac53d79f9351390da0d4cea40d8c02023b14
|
4
|
+
data.tar.gz: 9fffeb1b5b2a23035f6434d13ac1ebd49aa495a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4338c7285c6cb9a6a5d92e1345b4fda6dcebcec0f8d5db3920501c29f847b0fbf4109feae1ed8f14beadd41f5aa98d72baaa2000a976803263869237d3df1c57
|
7
|
+
data.tar.gz: c8f10cc204a30e8b37df54025acd1e9f6d8bc0105b8e87f951a6e15adace82464ae716aadfebf4b95b9375c3b244dfd25d482ac0c51a12f5b480fbcf33e15f1e
|
@@ -19,6 +19,7 @@ module Dor
|
|
19
19
|
t.mimeType :path => { :attribute => 'mimeType' }, :index_as => [:displayable]
|
20
20
|
t.dataType :path => { :attribute => 'dataType' }, :index_as => [:displayable]
|
21
21
|
t.size :path => { :attribute => 'size' }, :index_as => [:displayable] # , :data_type => :long
|
22
|
+
t.role :path => { :attribute => 'role' }, :index_as => [:not_searchable]
|
22
23
|
t.shelve :path => { :attribute => 'shelve' }, :index_as => [:not_searchable] # , :data_type => :boolean
|
23
24
|
t.publish :path => { :attribute => 'publish' }, :index_as => [:not_searchable] # , :data_type => :boolean
|
24
25
|
t.preserve :path => { :attribute => 'preserve' }, :index_as => [:not_searchable] # , :data_type => :boolean
|
@@ -85,6 +86,7 @@ module Dor
|
|
85
86
|
shelved_size = 0
|
86
87
|
counts = Hash.new(0) # default count is zero
|
87
88
|
resource_type_counts = Hash.new(0) # default count is zero
|
89
|
+
file_roles = ::Set.new
|
88
90
|
mime_types = ::Set.new
|
89
91
|
first_shelved_image = nil
|
90
92
|
|
@@ -95,10 +97,12 @@ module Dor
|
|
95
97
|
counts['content_file'] += 1
|
96
98
|
preserved_size += file['size'].to_i if file['preserve'] == 'yes'
|
97
99
|
shelved_size += file['size'].to_i if file['shelve'] == 'yes'
|
98
|
-
|
99
|
-
|
100
|
-
|
100
|
+
if file['shelve'] == 'yes'
|
101
|
+
counts['shelved_file'] += 1
|
102
|
+
first_shelved_image ||= file['id'] if file['id'] =~ /jp2$/
|
103
|
+
end
|
101
104
|
mime_types << file['mimetype']
|
105
|
+
file_roles << file['role'] if file['role']
|
102
106
|
end
|
103
107
|
end
|
104
108
|
solr_doc['content_type_ssim' ] = doc.root['type']
|
@@ -109,6 +113,7 @@ module Dor
|
|
109
113
|
solr_doc['preserved_size_dbtsi' ] = preserved_size # double (trie) to support very large sizes
|
110
114
|
solr_doc['shelved_size_dbtsi' ] = shelved_size # double (trie) to support very large sizes
|
111
115
|
solr_doc['resource_types_ssim' ] = resource_type_counts.keys if resource_type_counts.size > 0
|
116
|
+
solr_doc['content_file_roles_ssim' ] = file_roles.to_a if file_roles.size > 0
|
112
117
|
resource_type_counts.each do |key, count|
|
113
118
|
solr_doc["#{key}_resource_count_itsi"] = count
|
114
119
|
end
|
@@ -145,6 +150,7 @@ module Dor
|
|
145
150
|
end
|
146
151
|
file_node['size' ] = file[:size ] if file[:size ]
|
147
152
|
file_node['mimetype'] = file[:mime_type] if file[:mime_type]
|
153
|
+
file_node['role'] = file[:role] if file[:role]
|
148
154
|
file_node
|
149
155
|
end
|
150
156
|
|
@@ -206,6 +212,7 @@ module Dor
|
|
206
212
|
file_node.add_child(checksum_node)
|
207
213
|
}
|
208
214
|
file_node['size'] = file[:size] if file[:size]
|
215
|
+
file_node['role'] = file[:role] if file[:role]
|
209
216
|
end
|
210
217
|
ng_xml.search('//contentMetadata').first.add_child(node)
|
211
218
|
node
|
@@ -235,12 +242,15 @@ module Dor
|
|
235
242
|
# @param [String] publish
|
236
243
|
# @param [String] shelve
|
237
244
|
# @param [String] preserve
|
238
|
-
def update_attributes(file_name, publish, shelve, preserve)
|
245
|
+
def update_attributes(file_name, publish, shelve, preserve, attributes = {})
|
239
246
|
self.ng_xml_will_change!
|
240
247
|
file_node = ng_xml.search('//file[@id=\'' + file_name + '\']').first
|
241
248
|
file_node['publish' ] = publish
|
242
249
|
file_node['shelve' ] = shelve
|
243
250
|
file_node['preserve'] = preserve
|
251
|
+
attributes.each do |key, value|
|
252
|
+
file_node[key] = value
|
253
|
+
end
|
244
254
|
end
|
245
255
|
|
246
256
|
# @param file [Object] some hash-like file
|
@@ -260,7 +270,7 @@ module Dor
|
|
260
270
|
checksum_node.content = file[algo]
|
261
271
|
}
|
262
272
|
|
263
|
-
[:size, :shelve, :preserve, :publish].each { |x|
|
273
|
+
[:size, :shelve, :preserve, :publish, :role].each { |x|
|
264
274
|
file_node[x.to_s] = file[x] if file[x]
|
265
275
|
}
|
266
276
|
end
|
@@ -206,8 +206,8 @@ module Dor
|
|
206
206
|
end
|
207
207
|
|
208
208
|
# Clears RELS-EXT relationships, sets the isGovernedBy relationship to the SDR Graveyard APO
|
209
|
-
# @param [String] tag optional String of text that is concatenated to the identityMetadata/tag "
|
210
|
-
def
|
209
|
+
# @param [String] tag optional String of text that is concatenated to the identityMetadata/tag "Decommissioned : "
|
210
|
+
def decommission(tag)
|
211
211
|
# remove isMemberOf and isMemberOfCollection relationships
|
212
212
|
clear_relationship :is_member_of
|
213
213
|
clear_relationship :is_member_of_collection
|
@@ -223,6 +223,9 @@ module Dor
|
|
223
223
|
add_tag "Decommissioned : #{tag}"
|
224
224
|
end
|
225
225
|
|
226
|
+
alias_method :decomission, :decommission
|
227
|
+
deprecate decomission: 'Use decommission instead'
|
228
|
+
|
226
229
|
# Adds a RELS-EXT constituent relationship to the given druid
|
227
230
|
# @param [String] druid the parent druid of the constituent relationship
|
228
231
|
# e.g.: <fedora:isConstituentOf rdf:resource="info:fedora/druid:hj097bm8879" />
|
@@ -6,7 +6,7 @@ module Dor
|
|
6
6
|
merge_service = Dor::MergeService.new primary_druid, secondary_druids, tag, logger
|
7
7
|
merge_service.check_objects_editable
|
8
8
|
merge_service.move_metadata_and_content
|
9
|
-
merge_service.
|
9
|
+
merge_service.decommission_secondaries
|
10
10
|
# kick off commonAccessioning for the primary?
|
11
11
|
end
|
12
12
|
|
@@ -58,11 +58,11 @@ module Dor
|
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
-
def
|
61
|
+
def decommission_secondaries
|
62
62
|
@secondary_objs.each do |secondary_obj|
|
63
63
|
begin
|
64
64
|
@current_secondary = secondary_obj
|
65
|
-
@current_secondary.
|
65
|
+
@current_secondary.decommission @tag
|
66
66
|
@current_secondary.save
|
67
67
|
|
68
68
|
unshelve
|
@@ -70,11 +70,13 @@ module Dor
|
|
70
70
|
Dor::CleanupService.cleanup_by_druid @current_secondary.pid
|
71
71
|
Dor::Config.workflow.client.archive_active_workflow 'dor', @current_secondary.pid
|
72
72
|
rescue => e
|
73
|
-
@logger.error "Unable to
|
73
|
+
@logger.error "Unable to decommission #{@current_secondary.pid} with primary object #{@primary.pid}: #{e.inspect}"
|
74
74
|
@logger.error e.backtrace.join("\n")
|
75
75
|
end
|
76
76
|
end
|
77
77
|
end
|
78
|
+
alias_method :decomission_secondaries, :decommission_secondaries
|
79
|
+
deprecate decomission_secondaries: 'Use decommission_secondaries instead'
|
78
80
|
|
79
81
|
# Remove content from stacks
|
80
82
|
# TODO: might set workflow status in future for robot to do
|
data/lib/dor/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dor-services
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.26.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Klein
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date:
|
17
|
+
date: 2018-02-07 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: active-fedora
|
@@ -684,7 +684,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
684
684
|
version: 1.3.6
|
685
685
|
requirements: []
|
686
686
|
rubyforge_project:
|
687
|
-
rubygems_version: 2.6.
|
687
|
+
rubygems_version: 2.6.11
|
688
688
|
signing_key:
|
689
689
|
specification_version: 4
|
690
690
|
summary: Ruby implmentation of DOR services used by the SULAIR Digital Library
|