dor-services 4.12.1 → 4.12.2
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 +15 -7
- data/lib/dor-services.rb +1 -2
- data/lib/dor/services/archive_workspace_service.rb +19 -0
- data/lib/dor/services/cleanup_service.rb +21 -23
- data/lib/dor/version.rb +1 -1
- metadata +358 -232
- data/lib/dor/services/cleanup_reset_service.rb +0 -101
- data/lib/dor/services/reset_workspace_service.rb +0 -35
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
MTI2ZjBkOTExNzRmMGZhNTlmYzNjOTg0MzUyYWFlMzAyYzMwMjMzMA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MDNmMjQzNzU1YTBhYzIwMmJmNzcwNzEzNmUwNWUyYThjYzY2Njg1YQ==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MjNmY2RhNmVkZGVkNTRjMWU3NzU4ZTlhZjY2OTkxMTg2ZmI5OWIxMGNhMTU5
|
10
|
+
M2QyYzE1OGM1MzA4NmNjY2M4ZDE3ZDY5ZDEwZDQwNmNkMmYyYWY5Y2UzYjNk
|
11
|
+
MWM4OTFkMDFlOWZjMzUwODM0MmU4NzBmMzI2OTllMGEyMDE5MTg=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MzQ0YzQ2OGQ5M2Q0NGQ1MmIwMzY0NjgzOGIwMmI3MDc3OGZmMGNiMTllZWQ1
|
14
|
+
YjlmZTQ4MzUyNmQ0NzZjYjgzNzI3MjY4ODFhZjZiZTUyZWM4MTJkMzM5NjAy
|
15
|
+
MTdhNGJiMGVlNGU4NmRhYTQzZjRmYzAzNjc1ZDVkODc1YjY4MTY=
|
data/lib/dor-services.rb
CHANGED
@@ -139,8 +139,7 @@ module Dor
|
|
139
139
|
autoload :ProvenanceMetadataService, 'dor/services/provenance_metadata_service'
|
140
140
|
autoload :TechnicalMetadataService, 'dor/services/technical_metadata_service'
|
141
141
|
autoload :MergeService, 'dor/services/merge_service'
|
142
|
-
autoload :
|
143
|
-
autoload :CleanupResetService, 'dor/services/cleanup_reset_service'
|
142
|
+
autoload :ArchiveWorkspaceService, 'dor/services/archive_workspace_service'
|
144
143
|
|
145
144
|
# Versioning Classes
|
146
145
|
module Versioning
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Dor
|
2
|
+
|
3
|
+
# Rename the druid trees at the end of the accessionWF in order to be cleaned/deleted later.
|
4
|
+
class ArchiveWorkspaceService
|
5
|
+
|
6
|
+
def self.archive_workspace_druid_tree(druid, version, workspace_root)
|
7
|
+
|
8
|
+
druid_tree_path = DruidTools::Druid.new(druid, workspace_root).pathname.to_s
|
9
|
+
|
10
|
+
raise "The archived directory #{druid_tree_path}_v#{version} already existed." if File.exists?("#{druid_tree_path}_v#{version}")
|
11
|
+
|
12
|
+
if File.exists?(druid_tree_path)
|
13
|
+
FileUtils.mv(druid_tree_path, "#{druid_tree_path}_v#{version}")
|
14
|
+
end #Else is a truncated tree where we shouldn't do anything
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
@@ -18,13 +18,31 @@ module Dor
|
|
18
18
|
cleanup_export(druid)
|
19
19
|
end
|
20
20
|
|
21
|
+
# Tries to remove any exsitence of the object in our systems
|
22
|
+
# Does the following:
|
23
|
+
# - Removes item from Dor/Fedora/Solr
|
24
|
+
# - Removes content from dor workspace
|
25
|
+
# - Removes content from assembly workspace
|
26
|
+
# - Removes content from sdr export area
|
27
|
+
# - Removes content from stacks
|
28
|
+
# - Removes content from purl
|
29
|
+
# - Removes active workflows
|
30
|
+
# @param [String] druid id of the object you wish to remove
|
31
|
+
def self.nuke!(druid)
|
32
|
+
cleanup_by_druid druid
|
33
|
+
cleanup_stacks druid
|
34
|
+
cleanup_purl_doc_cache druid
|
35
|
+
remove_active_workflows druid
|
36
|
+
delete_from_dor druid
|
37
|
+
end
|
38
|
+
|
21
39
|
# @param [String] druid The identifier for the object whose data is to be removed
|
22
40
|
# @param [String] base The base directory to delete from
|
23
41
|
# @return [void] remove the object's data files from the workspace area
|
24
42
|
def self.cleanup_workspace_content(druid, base)
|
25
43
|
DruidTools::Druid.new(druid, base).prune!
|
26
44
|
end
|
27
|
-
|
45
|
+
|
28
46
|
# @param [String] druid The identifier for the object whose data is to be removed
|
29
47
|
# @return [void] remove copy of the data that was exported to preservation core
|
30
48
|
def self.cleanup_export(druid)
|
@@ -42,24 +60,6 @@ module Dor
|
|
42
60
|
pathname.rmtree if pathname.exist?
|
43
61
|
end
|
44
62
|
|
45
|
-
# Tries to remove any exsitence of the object in our systems
|
46
|
-
# Does the following:
|
47
|
-
# - Removes item from Dor/Fedora/Solr
|
48
|
-
# - Removes content from dor workspace
|
49
|
-
# - Removes content from assembly workspace
|
50
|
-
# - Removes content from sdr export area
|
51
|
-
# - Removes content from stacks
|
52
|
-
# - Removes content from purl
|
53
|
-
# - Removes active workflows
|
54
|
-
# @param [String] druid id of the object you wish to remove
|
55
|
-
def self.nuke!(druid)
|
56
|
-
cleanup_by_druid druid
|
57
|
-
cleanup_stacks druid
|
58
|
-
cleanup_purl_doc_cache druid
|
59
|
-
remove_active_workflows druid
|
60
|
-
delete_from_dor druid
|
61
|
-
end
|
62
|
-
|
63
63
|
def self.cleanup_stacks(druid)
|
64
64
|
DruidTools::StacksDruid.new(druid, Config.stacks.local_storage_root).prune!
|
65
65
|
end
|
@@ -83,9 +83,7 @@ module Dor
|
|
83
83
|
Dor::SearchService.solr.delete_by_id(pid)
|
84
84
|
Dor::SearchService.solr.commit
|
85
85
|
end
|
86
|
-
end
|
87
|
-
|
88
|
-
end
|
89
86
|
|
87
|
+
end
|
90
88
|
|
91
|
-
|
89
|
+
end
|
data/lib/dor/version.rb
CHANGED
metadata
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dor-services
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.12.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 4.12.2
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Michael Klein
|
8
8
|
- Willy Mene
|
9
9
|
- Chris Fitzpatrick
|
@@ -12,346 +12,477 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
- !ruby/object:Gem::Dependency
|
15
|
+
date: 2014-07-25 00:00:00.000000000 Z
|
16
|
+
dependencies:
|
17
|
+
- !ruby/object:Gem::Dependency
|
19
18
|
name: active-fedora
|
20
|
-
|
21
|
-
|
22
|
-
requirements:
|
19
|
+
requirement: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
23
21
|
- - ~>
|
24
|
-
- !ruby/object:Gem::Version
|
22
|
+
- !ruby/object:Gem::Version
|
25
23
|
version: 5.7.1
|
26
24
|
type: :runtime
|
27
|
-
version_requirements: *id001
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: activesupport
|
30
25
|
prerelease: false
|
31
|
-
|
32
|
-
requirements:
|
26
|
+
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
requirements:
|
28
|
+
- - ~>
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: 5.7.1
|
31
|
+
- !ruby/object:Gem::Dependency
|
32
|
+
name: activesupport
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
34
|
+
requirements:
|
33
35
|
- - ~>
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version:
|
36
|
-
- -
|
37
|
-
- !ruby/object:Gem::Version
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '3.2'
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
38
40
|
version: 3.2.18
|
39
41
|
type: :runtime
|
40
|
-
version_requirements: *id002
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: confstruct
|
43
42
|
prerelease: false
|
44
|
-
|
45
|
-
requirements:
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.2'
|
48
|
+
- - ! '>='
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 3.2.18
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
name: confstruct
|
53
|
+
requirement: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
46
55
|
- - ~>
|
47
|
-
- !ruby/object:Gem::Version
|
56
|
+
- !ruby/object:Gem::Version
|
48
57
|
version: 0.2.2
|
49
58
|
type: :runtime
|
50
|
-
version_requirements: *id003
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
|
-
name: equivalent-xml
|
53
59
|
prerelease: false
|
54
|
-
|
55
|
-
requirements:
|
60
|
+
version_requirements: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - ~>
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 0.2.2
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
name: equivalent-xml
|
67
|
+
requirement: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
56
69
|
- - ~>
|
57
|
-
- !ruby/object:Gem::Version
|
70
|
+
- !ruby/object:Gem::Version
|
58
71
|
version: 0.2.2
|
59
72
|
type: :runtime
|
60
|
-
version_requirements: *id004
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: json
|
63
73
|
prerelease: false
|
64
|
-
|
65
|
-
requirements:
|
74
|
+
version_requirements: !ruby/object:Gem::Requirement
|
75
|
+
requirements:
|
76
|
+
- - ~>
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 0.2.2
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
name: json
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
66
83
|
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
84
|
+
- !ruby/object:Gem::Version
|
68
85
|
version: 1.8.1
|
69
86
|
type: :runtime
|
70
|
-
version_requirements: *id005
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: net-sftp
|
73
87
|
prerelease: false
|
74
|
-
|
75
|
-
requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - ~>
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 1.8.1
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
name: net-sftp
|
95
|
+
requirement: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
76
97
|
- - ~>
|
77
|
-
- !ruby/object:Gem::Version
|
98
|
+
- !ruby/object:Gem::Version
|
78
99
|
version: 2.1.2
|
79
100
|
type: :runtime
|
80
|
-
version_requirements: *id006
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: net-ssh
|
83
101
|
prerelease: false
|
84
|
-
|
85
|
-
requirements:
|
102
|
+
version_requirements: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - ~>
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 2.1.2
|
107
|
+
- !ruby/object:Gem::Dependency
|
108
|
+
name: net-ssh
|
109
|
+
requirement: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
86
111
|
- - ~>
|
87
|
-
- !ruby/object:Gem::Version
|
112
|
+
- !ruby/object:Gem::Version
|
88
113
|
version: 2.7.0
|
89
114
|
type: :runtime
|
90
|
-
version_requirements: *id007
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
|
-
name: nokogiri
|
93
115
|
prerelease: false
|
94
|
-
|
95
|
-
requirements:
|
116
|
+
version_requirements: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - ~>
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: 2.7.0
|
121
|
+
- !ruby/object:Gem::Dependency
|
122
|
+
name: nokogiri
|
123
|
+
requirement: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
96
125
|
- - ~>
|
97
|
-
- !ruby/object:Gem::Version
|
126
|
+
- !ruby/object:Gem::Version
|
98
127
|
version: 1.6.0
|
99
128
|
type: :runtime
|
100
|
-
version_requirements: *id008
|
101
|
-
- !ruby/object:Gem::Dependency
|
102
|
-
name: om
|
103
129
|
prerelease: false
|
104
|
-
|
105
|
-
requirements:
|
130
|
+
version_requirements: !ruby/object:Gem::Requirement
|
131
|
+
requirements:
|
106
132
|
- - ~>
|
107
|
-
- !ruby/object:Gem::Version
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 1.6.0
|
135
|
+
- !ruby/object:Gem::Dependency
|
136
|
+
name: om
|
137
|
+
requirement: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
108
141
|
version: 1.8.0
|
109
142
|
type: :runtime
|
110
|
-
version_requirements: *id009
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: progressbar
|
113
143
|
prerelease: false
|
114
|
-
|
115
|
-
requirements:
|
144
|
+
version_requirements: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - ~>
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: 1.8.0
|
149
|
+
- !ruby/object:Gem::Dependency
|
150
|
+
name: progressbar
|
151
|
+
requirement: !ruby/object:Gem::Requirement
|
152
|
+
requirements:
|
116
153
|
- - ~>
|
117
|
-
- !ruby/object:Gem::Version
|
154
|
+
- !ruby/object:Gem::Version
|
118
155
|
version: 0.21.0
|
119
156
|
type: :runtime
|
120
|
-
version_requirements: *id010
|
121
|
-
- !ruby/object:Gem::Dependency
|
122
|
-
name: rdf
|
123
157
|
prerelease: false
|
124
|
-
|
125
|
-
requirements:
|
158
|
+
version_requirements: !ruby/object:Gem::Requirement
|
159
|
+
requirements:
|
160
|
+
- - ~>
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: 0.21.0
|
163
|
+
- !ruby/object:Gem::Dependency
|
164
|
+
name: rdf
|
165
|
+
requirement: !ruby/object:Gem::Requirement
|
166
|
+
requirements:
|
126
167
|
- - ~>
|
127
|
-
- !ruby/object:Gem::Version
|
168
|
+
- !ruby/object:Gem::Version
|
128
169
|
version: 1.0.9.0
|
129
170
|
type: :runtime
|
130
|
-
version_requirements: *id011
|
131
|
-
- !ruby/object:Gem::Dependency
|
132
|
-
name: rest-client
|
133
171
|
prerelease: false
|
134
|
-
|
135
|
-
requirements:
|
172
|
+
version_requirements: !ruby/object:Gem::Requirement
|
173
|
+
requirements:
|
174
|
+
- - ~>
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
version: 1.0.9.0
|
177
|
+
- !ruby/object:Gem::Dependency
|
178
|
+
name: rest-client
|
179
|
+
requirement: !ruby/object:Gem::Requirement
|
180
|
+
requirements:
|
136
181
|
- - ~>
|
137
|
-
- !ruby/object:Gem::Version
|
182
|
+
- !ruby/object:Gem::Version
|
138
183
|
version: 1.6.7
|
139
184
|
type: :runtime
|
140
|
-
version_requirements: *id012
|
141
|
-
- !ruby/object:Gem::Dependency
|
142
|
-
name: rsolr-ext
|
143
185
|
prerelease: false
|
144
|
-
|
145
|
-
requirements:
|
186
|
+
version_requirements: !ruby/object:Gem::Requirement
|
187
|
+
requirements:
|
146
188
|
- - ~>
|
147
|
-
- !ruby/object:Gem::Version
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: 1.6.7
|
191
|
+
- !ruby/object:Gem::Dependency
|
192
|
+
name: rsolr-ext
|
193
|
+
requirement: !ruby/object:Gem::Requirement
|
194
|
+
requirements:
|
195
|
+
- - ~>
|
196
|
+
- !ruby/object:Gem::Version
|
148
197
|
version: 1.0.3
|
149
198
|
type: :runtime
|
150
|
-
version_requirements: *id013
|
151
|
-
- !ruby/object:Gem::Dependency
|
152
|
-
name: ruby-cache
|
153
199
|
prerelease: false
|
154
|
-
|
155
|
-
requirements:
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
requirements:
|
202
|
+
- - ~>
|
203
|
+
- !ruby/object:Gem::Version
|
204
|
+
version: 1.0.3
|
205
|
+
- !ruby/object:Gem::Dependency
|
206
|
+
name: ruby-cache
|
207
|
+
requirement: !ruby/object:Gem::Requirement
|
208
|
+
requirements:
|
156
209
|
- - ~>
|
157
|
-
- !ruby/object:Gem::Version
|
210
|
+
- !ruby/object:Gem::Version
|
158
211
|
version: 0.3.0
|
159
212
|
type: :runtime
|
160
|
-
version_requirements: *id014
|
161
|
-
- !ruby/object:Gem::Dependency
|
162
|
-
name: ruby-graphviz
|
163
213
|
prerelease: false
|
164
|
-
|
165
|
-
requirements:
|
214
|
+
version_requirements: !ruby/object:Gem::Requirement
|
215
|
+
requirements:
|
166
216
|
- - ~>
|
167
|
-
- !ruby/object:Gem::Version
|
217
|
+
- !ruby/object:Gem::Version
|
218
|
+
version: 0.3.0
|
219
|
+
- !ruby/object:Gem::Dependency
|
220
|
+
name: ruby-graphviz
|
221
|
+
requirement: !ruby/object:Gem::Requirement
|
222
|
+
requirements:
|
223
|
+
- - ~>
|
224
|
+
- !ruby/object:Gem::Version
|
168
225
|
version: 1.0.9
|
169
226
|
type: :runtime
|
170
|
-
version_requirements: *id015
|
171
|
-
- !ruby/object:Gem::Dependency
|
172
|
-
name: rubydora
|
173
227
|
prerelease: false
|
174
|
-
|
175
|
-
requirements:
|
228
|
+
version_requirements: !ruby/object:Gem::Requirement
|
229
|
+
requirements:
|
176
230
|
- - ~>
|
177
|
-
- !ruby/object:Gem::Version
|
231
|
+
- !ruby/object:Gem::Version
|
232
|
+
version: 1.0.9
|
233
|
+
- !ruby/object:Gem::Dependency
|
234
|
+
name: rubydora
|
235
|
+
requirement: !ruby/object:Gem::Requirement
|
236
|
+
requirements:
|
237
|
+
- - ~>
|
238
|
+
- !ruby/object:Gem::Version
|
178
239
|
version: 1.6.5
|
179
240
|
type: :runtime
|
180
|
-
version_requirements: *id016
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: solrizer
|
183
241
|
prerelease: false
|
184
|
-
|
185
|
-
requirements:
|
242
|
+
version_requirements: !ruby/object:Gem::Requirement
|
243
|
+
requirements:
|
244
|
+
- - ~>
|
245
|
+
- !ruby/object:Gem::Version
|
246
|
+
version: 1.6.5
|
247
|
+
- !ruby/object:Gem::Dependency
|
248
|
+
name: solrizer
|
249
|
+
requirement: !ruby/object:Gem::Requirement
|
250
|
+
requirements:
|
186
251
|
- - ~>
|
187
|
-
- !ruby/object:Gem::Version
|
188
|
-
version:
|
252
|
+
- !ruby/object:Gem::Version
|
253
|
+
version: '2.0'
|
189
254
|
type: :runtime
|
190
|
-
version_requirements: *id017
|
191
|
-
- !ruby/object:Gem::Dependency
|
192
|
-
name: systemu
|
193
255
|
prerelease: false
|
194
|
-
|
195
|
-
requirements:
|
256
|
+
version_requirements: !ruby/object:Gem::Requirement
|
257
|
+
requirements:
|
258
|
+
- - ~>
|
259
|
+
- !ruby/object:Gem::Version
|
260
|
+
version: '2.0'
|
261
|
+
- !ruby/object:Gem::Dependency
|
262
|
+
name: systemu
|
263
|
+
requirement: !ruby/object:Gem::Requirement
|
264
|
+
requirements:
|
196
265
|
- - ~>
|
197
|
-
- !ruby/object:Gem::Version
|
266
|
+
- !ruby/object:Gem::Version
|
198
267
|
version: 2.6.0
|
199
268
|
type: :runtime
|
200
|
-
version_requirements: *id018
|
201
|
-
- !ruby/object:Gem::Dependency
|
202
|
-
name: uuidtools
|
203
269
|
prerelease: false
|
204
|
-
|
205
|
-
requirements:
|
270
|
+
version_requirements: !ruby/object:Gem::Requirement
|
271
|
+
requirements:
|
272
|
+
- - ~>
|
273
|
+
- !ruby/object:Gem::Version
|
274
|
+
version: 2.6.0
|
275
|
+
- !ruby/object:Gem::Dependency
|
276
|
+
name: uuidtools
|
277
|
+
requirement: !ruby/object:Gem::Requirement
|
278
|
+
requirements:
|
206
279
|
- - ~>
|
207
|
-
- !ruby/object:Gem::Version
|
280
|
+
- !ruby/object:Gem::Version
|
208
281
|
version: 2.1.4
|
209
282
|
type: :runtime
|
210
|
-
version_requirements: *id019
|
211
|
-
- !ruby/object:Gem::Dependency
|
212
|
-
name: validatable
|
213
283
|
prerelease: false
|
214
|
-
|
215
|
-
requirements:
|
284
|
+
version_requirements: !ruby/object:Gem::Requirement
|
285
|
+
requirements:
|
286
|
+
- - ~>
|
287
|
+
- !ruby/object:Gem::Version
|
288
|
+
version: 2.1.4
|
289
|
+
- !ruby/object:Gem::Dependency
|
290
|
+
name: validatable
|
291
|
+
requirement: !ruby/object:Gem::Requirement
|
292
|
+
requirements:
|
216
293
|
- - ~>
|
217
|
-
- !ruby/object:Gem::Version
|
294
|
+
- !ruby/object:Gem::Version
|
218
295
|
version: 1.6.7
|
219
296
|
type: :runtime
|
220
|
-
version_requirements: *id020
|
221
|
-
- !ruby/object:Gem::Dependency
|
222
|
-
name: dor-workflow-service
|
223
297
|
prerelease: false
|
224
|
-
|
225
|
-
requirements:
|
298
|
+
version_requirements: !ruby/object:Gem::Requirement
|
299
|
+
requirements:
|
300
|
+
- - ~>
|
301
|
+
- !ruby/object:Gem::Version
|
302
|
+
version: 1.6.7
|
303
|
+
- !ruby/object:Gem::Dependency
|
304
|
+
name: dor-workflow-service
|
305
|
+
requirement: !ruby/object:Gem::Requirement
|
306
|
+
requirements:
|
226
307
|
- - ~>
|
227
|
-
- !ruby/object:Gem::Version
|
228
|
-
version:
|
229
|
-
- -
|
230
|
-
- !ruby/object:Gem::Version
|
308
|
+
- !ruby/object:Gem::Version
|
309
|
+
version: '1.7'
|
310
|
+
- - ! '>='
|
311
|
+
- !ruby/object:Gem::Version
|
231
312
|
version: 1.7.1
|
232
313
|
type: :runtime
|
233
|
-
version_requirements: *id021
|
234
|
-
- !ruby/object:Gem::Dependency
|
235
|
-
name: druid-tools
|
236
314
|
prerelease: false
|
237
|
-
|
238
|
-
requirements:
|
315
|
+
version_requirements: !ruby/object:Gem::Requirement
|
316
|
+
requirements:
|
317
|
+
- - ~>
|
318
|
+
- !ruby/object:Gem::Version
|
319
|
+
version: '1.7'
|
320
|
+
- - ! '>='
|
321
|
+
- !ruby/object:Gem::Version
|
322
|
+
version: 1.7.1
|
323
|
+
- !ruby/object:Gem::Dependency
|
324
|
+
name: druid-tools
|
325
|
+
requirement: !ruby/object:Gem::Requirement
|
326
|
+
requirements:
|
239
327
|
- - ~>
|
240
|
-
- !ruby/object:Gem::Version
|
241
|
-
version: 0.3.
|
328
|
+
- !ruby/object:Gem::Version
|
329
|
+
version: 0.3.0
|
242
330
|
type: :runtime
|
243
|
-
version_requirements: *id022
|
244
|
-
- !ruby/object:Gem::Dependency
|
245
|
-
name: lyber-utils
|
246
331
|
prerelease: false
|
247
|
-
|
248
|
-
requirements:
|
332
|
+
version_requirements: !ruby/object:Gem::Requirement
|
333
|
+
requirements:
|
334
|
+
- - ~>
|
335
|
+
- !ruby/object:Gem::Version
|
336
|
+
version: 0.3.0
|
337
|
+
- !ruby/object:Gem::Dependency
|
338
|
+
name: lyber-utils
|
339
|
+
requirement: !ruby/object:Gem::Requirement
|
340
|
+
requirements:
|
249
341
|
- - ~>
|
250
|
-
- !ruby/object:Gem::Version
|
342
|
+
- !ruby/object:Gem::Version
|
251
343
|
version: 0.1.2
|
252
344
|
type: :runtime
|
253
|
-
version_requirements: *id023
|
254
|
-
- !ruby/object:Gem::Dependency
|
255
|
-
name: moab-versioning
|
256
345
|
prerelease: false
|
257
|
-
|
258
|
-
requirements:
|
259
|
-
- -
|
260
|
-
- !ruby/object:Gem::Version
|
261
|
-
version: 1.
|
346
|
+
version_requirements: !ruby/object:Gem::Requirement
|
347
|
+
requirements:
|
348
|
+
- - ~>
|
349
|
+
- !ruby/object:Gem::Version
|
350
|
+
version: 0.1.2
|
351
|
+
- !ruby/object:Gem::Dependency
|
352
|
+
name: moab-versioning
|
353
|
+
requirement: !ruby/object:Gem::Requirement
|
354
|
+
requirements:
|
355
|
+
- - '='
|
356
|
+
- !ruby/object:Gem::Version
|
357
|
+
version: 1.3.3
|
262
358
|
type: :runtime
|
263
|
-
version_requirements: *id024
|
264
|
-
- !ruby/object:Gem::Dependency
|
265
|
-
name: stanford-mods
|
266
359
|
prerelease: false
|
267
|
-
|
268
|
-
requirements:
|
360
|
+
version_requirements: !ruby/object:Gem::Requirement
|
361
|
+
requirements:
|
362
|
+
- - '='
|
363
|
+
- !ruby/object:Gem::Version
|
364
|
+
version: 1.3.3
|
365
|
+
- !ruby/object:Gem::Dependency
|
366
|
+
name: stanford-mods
|
367
|
+
requirement: !ruby/object:Gem::Requirement
|
368
|
+
requirements:
|
269
369
|
- - ~>
|
270
|
-
- !ruby/object:Gem::Version
|
370
|
+
- !ruby/object:Gem::Version
|
271
371
|
version: 0.0.14
|
272
372
|
type: :runtime
|
273
|
-
version_requirements: *id025
|
274
|
-
- !ruby/object:Gem::Dependency
|
275
|
-
name: fakeweb
|
276
373
|
prerelease: false
|
277
|
-
|
278
|
-
requirements:
|
374
|
+
version_requirements: !ruby/object:Gem::Requirement
|
375
|
+
requirements:
|
376
|
+
- - ~>
|
377
|
+
- !ruby/object:Gem::Version
|
378
|
+
version: 0.0.14
|
379
|
+
- !ruby/object:Gem::Dependency
|
380
|
+
name: fakeweb
|
381
|
+
requirement: !ruby/object:Gem::Requirement
|
382
|
+
requirements:
|
279
383
|
- - ~>
|
280
|
-
- !ruby/object:Gem::Version
|
384
|
+
- !ruby/object:Gem::Version
|
281
385
|
version: 1.3.0
|
282
386
|
type: :development
|
283
|
-
version_requirements: *id026
|
284
|
-
- !ruby/object:Gem::Dependency
|
285
|
-
name: haml
|
286
387
|
prerelease: false
|
287
|
-
|
288
|
-
requirements:
|
388
|
+
version_requirements: !ruby/object:Gem::Requirement
|
389
|
+
requirements:
|
390
|
+
- - ~>
|
391
|
+
- !ruby/object:Gem::Version
|
392
|
+
version: 1.3.0
|
393
|
+
- !ruby/object:Gem::Dependency
|
394
|
+
name: haml
|
395
|
+
requirement: !ruby/object:Gem::Requirement
|
396
|
+
requirements:
|
289
397
|
- - ~>
|
290
|
-
- !ruby/object:Gem::Version
|
398
|
+
- !ruby/object:Gem::Version
|
291
399
|
version: 4.0.4
|
292
400
|
type: :development
|
293
|
-
version_requirements: *id027
|
294
|
-
- !ruby/object:Gem::Dependency
|
295
|
-
name: jhove-service
|
296
401
|
prerelease: false
|
297
|
-
|
298
|
-
requirements:
|
402
|
+
version_requirements: !ruby/object:Gem::Requirement
|
403
|
+
requirements:
|
404
|
+
- - ~>
|
405
|
+
- !ruby/object:Gem::Version
|
406
|
+
version: 4.0.4
|
407
|
+
- !ruby/object:Gem::Dependency
|
408
|
+
name: jhove-service
|
409
|
+
requirement: !ruby/object:Gem::Requirement
|
410
|
+
requirements:
|
299
411
|
- - ~>
|
300
|
-
- !ruby/object:Gem::Version
|
412
|
+
- !ruby/object:Gem::Version
|
301
413
|
version: 1.0.1
|
302
414
|
type: :development
|
303
|
-
version_requirements: *id028
|
304
|
-
- !ruby/object:Gem::Dependency
|
305
|
-
name: rake
|
306
415
|
prerelease: false
|
307
|
-
|
308
|
-
requirements:
|
416
|
+
version_requirements: !ruby/object:Gem::Requirement
|
417
|
+
requirements:
|
418
|
+
- - ~>
|
419
|
+
- !ruby/object:Gem::Version
|
420
|
+
version: 1.0.1
|
421
|
+
- !ruby/object:Gem::Dependency
|
422
|
+
name: rake
|
423
|
+
requirement: !ruby/object:Gem::Requirement
|
424
|
+
requirements:
|
309
425
|
- - ~>
|
310
|
-
- !ruby/object:Gem::Version
|
426
|
+
- !ruby/object:Gem::Version
|
311
427
|
version: 0.8.7
|
312
428
|
type: :development
|
313
|
-
version_requirements: *id029
|
314
|
-
- !ruby/object:Gem::Dependency
|
315
|
-
name: rdoc
|
316
429
|
prerelease: false
|
317
|
-
|
318
|
-
requirements:
|
430
|
+
version_requirements: !ruby/object:Gem::Requirement
|
431
|
+
requirements:
|
432
|
+
- - ~>
|
433
|
+
- !ruby/object:Gem::Version
|
434
|
+
version: 0.8.7
|
435
|
+
- !ruby/object:Gem::Dependency
|
436
|
+
name: rdoc
|
437
|
+
requirement: !ruby/object:Gem::Requirement
|
438
|
+
requirements:
|
319
439
|
- - ~>
|
320
|
-
- !ruby/object:Gem::Version
|
440
|
+
- !ruby/object:Gem::Version
|
321
441
|
version: 4.0.1
|
322
442
|
type: :development
|
323
|
-
version_requirements: *id030
|
324
|
-
- !ruby/object:Gem::Dependency
|
325
|
-
name: rspec
|
326
443
|
prerelease: false
|
327
|
-
|
328
|
-
requirements:
|
444
|
+
version_requirements: !ruby/object:Gem::Requirement
|
445
|
+
requirements:
|
446
|
+
- - ~>
|
447
|
+
- !ruby/object:Gem::Version
|
448
|
+
version: 4.0.1
|
449
|
+
- !ruby/object:Gem::Dependency
|
450
|
+
name: rspec
|
451
|
+
requirement: !ruby/object:Gem::Requirement
|
452
|
+
requirements:
|
329
453
|
- - ~>
|
330
|
-
- !ruby/object:Gem::Version
|
454
|
+
- !ruby/object:Gem::Version
|
331
455
|
version: 2.14.1
|
332
456
|
type: :development
|
333
|
-
version_requirements: *id031
|
334
|
-
- !ruby/object:Gem::Dependency
|
335
|
-
name: yard
|
336
457
|
prerelease: false
|
337
|
-
|
338
|
-
requirements:
|
458
|
+
version_requirements: !ruby/object:Gem::Requirement
|
459
|
+
requirements:
|
460
|
+
- - ~>
|
461
|
+
- !ruby/object:Gem::Version
|
462
|
+
version: 2.14.1
|
463
|
+
- !ruby/object:Gem::Dependency
|
464
|
+
name: yard
|
465
|
+
requirement: !ruby/object:Gem::Requirement
|
466
|
+
requirements:
|
339
467
|
- - ~>
|
340
|
-
- !ruby/object:Gem::Version
|
468
|
+
- !ruby/object:Gem::Version
|
341
469
|
version: 0.8.7
|
342
470
|
type: :development
|
343
|
-
|
471
|
+
prerelease: false
|
472
|
+
version_requirements: !ruby/object:Gem::Requirement
|
473
|
+
requirements:
|
474
|
+
- - ~>
|
475
|
+
- !ruby/object:Gem::Version
|
476
|
+
version: 0.8.7
|
344
477
|
description: Contains classes to register objects and initialize workflows
|
345
|
-
email:
|
478
|
+
email:
|
346
479
|
- mbklein@stanford.edu
|
347
|
-
executables:
|
480
|
+
executables:
|
348
481
|
- dor-indexer
|
349
482
|
- dor-indexerd
|
350
483
|
extensions: []
|
351
|
-
|
352
484
|
extra_rdoc_files: []
|
353
|
-
|
354
|
-
files:
|
485
|
+
files:
|
355
486
|
- lib/dor/config.rb
|
356
487
|
- lib/dor/datastreams/administrative_metadata_ds.rb
|
357
488
|
- lib/dor/datastreams/content_metadata_ds.rb
|
@@ -401,7 +532,7 @@ files:
|
|
401
532
|
- lib/dor/models/upgradable.rb
|
402
533
|
- lib/dor/models/versionable.rb
|
403
534
|
- lib/dor/models/workflow_object.rb
|
404
|
-
- lib/dor/services/
|
535
|
+
- lib/dor/services/archive_workspace_service.rb
|
405
536
|
- lib/dor/services/cleanup_service.rb
|
406
537
|
- lib/dor/services/digital_stacks_service.rb
|
407
538
|
- lib/dor/services/merge_service.rb
|
@@ -409,7 +540,6 @@ files:
|
|
409
540
|
- lib/dor/services/metadata_handlers/mdtoolkit_handler.rb
|
410
541
|
- lib/dor/services/metadata_service.rb
|
411
542
|
- lib/dor/services/registration_service.rb
|
412
|
-
- lib/dor/services/reset_workspace_service.rb
|
413
543
|
- lib/dor/services/sdr_ingest_service.rb
|
414
544
|
- lib/dor/services/search_service.rb
|
415
545
|
- lib/dor/services/suri_service.rb
|
@@ -436,30 +566,26 @@ files:
|
|
436
566
|
- bin/dor-indexerd
|
437
567
|
homepage:
|
438
568
|
licenses: []
|
439
|
-
|
440
569
|
metadata: {}
|
441
|
-
|
442
570
|
post_install_message:
|
443
571
|
rdoc_options: []
|
444
|
-
|
445
|
-
require_paths:
|
572
|
+
require_paths:
|
446
573
|
- lib
|
447
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
448
|
-
requirements:
|
449
|
-
- -
|
450
|
-
- !ruby/object:Gem::Version
|
451
|
-
version:
|
452
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
453
|
-
requirements:
|
454
|
-
- -
|
455
|
-
- !ruby/object:Gem::Version
|
574
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
575
|
+
requirements:
|
576
|
+
- - ! '>='
|
577
|
+
- !ruby/object:Gem::Version
|
578
|
+
version: '0'
|
579
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
580
|
+
requirements:
|
581
|
+
- - ! '>='
|
582
|
+
- !ruby/object:Gem::Version
|
456
583
|
version: 1.3.6
|
457
584
|
requirements: []
|
458
|
-
|
459
585
|
rubyforge_project:
|
460
|
-
rubygems_version: 2.
|
586
|
+
rubygems_version: 2.1.2
|
461
587
|
signing_key:
|
462
588
|
specification_version: 4
|
463
589
|
summary: Ruby implmentation of DOR services used by the SULAIR Digital Library
|
464
590
|
test_files: []
|
465
|
-
|
591
|
+
has_rdoc:
|
@@ -1,101 +0,0 @@
|
|
1
|
-
require 'pathname'
|
2
|
-
|
3
|
-
module Dor
|
4
|
-
|
5
|
-
# Remove all traces of the object's data files from the workspace and export areas
|
6
|
-
class CleanupResetService
|
7
|
-
|
8
|
-
# @param [String] druid The identifier for the object whose reset data is to be removed
|
9
|
-
# @return [void] remove copy of the reset data that was exported to preservation core
|
10
|
-
def self.cleanup_by_reset_druid(druid)
|
11
|
-
last_version = get_druid_last_version(druid)
|
12
|
-
cleanup_reset_workspace_content(druid, last_version, Config.cleanup.local_workspace_root)
|
13
|
-
cleanup_reset_workspace_content(druid, last_version, Config.cleanup.local_assembly_root)
|
14
|
-
cleanup_reset_export(druid, last_version)
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.get_druid_last_version(druid)
|
18
|
-
druid_obj = Dor::Item.find(druid)
|
19
|
-
last_version = druid_obj.current_version.to_i
|
20
|
-
|
21
|
-
#if the current version is still open, avoid this versioned directory
|
22
|
-
if Dor::WorkflowService.get_lifecycle('dor', druid, 'accessioned').nil? then
|
23
|
-
last_version = last_version - 1
|
24
|
-
end
|
25
|
-
return last_version
|
26
|
-
end
|
27
|
-
|
28
|
-
# @param [String] druid The identifier for the object whose reset data is to be removed
|
29
|
-
# @param [String] base The base directory to delete from
|
30
|
-
# @param [Integer] last_version The last version that the data should be removed until version 1
|
31
|
-
# @return [void] remove all the object's reset data files from the workspace area equal to less than the last_version
|
32
|
-
def self.cleanup_reset_workspace_content(druid,last_version, base)
|
33
|
-
base_druid = DruidTools::Druid.new(druid, base)
|
34
|
-
base_druid_tree = base_druid.pathname.to_s
|
35
|
-
#if it is truncated tree /aa/111/aaa/1111/content,
|
36
|
-
#we should follow the regular cleanup technique
|
37
|
-
|
38
|
-
reset_directories = get_reset_dir_list(last_version, base_druid_tree)
|
39
|
-
reset_directories.each do |path|
|
40
|
-
FileUtils.rm_rf(path)
|
41
|
-
end
|
42
|
-
base_druid.prune_ancestors(base_druid.pathname.parent)
|
43
|
-
end
|
44
|
-
|
45
|
-
|
46
|
-
# @param [String] druid The identifier for the object whose reset data is to be removed
|
47
|
-
# @param [String] base The base directory to delete from
|
48
|
-
# @param [Integer] last_version The last version that the data should be removed until version 1
|
49
|
-
# @return [void] prepares a list of reset directories that should be removed
|
50
|
-
def self.get_reset_dir_list(last_version, base_druid_tree)
|
51
|
-
reset_directories = []
|
52
|
-
for i in 1..last_version
|
53
|
-
reset_path = "#{base_druid_tree}_v#{i}"
|
54
|
-
reset_directories.append(reset_path) if File.exists?(reset_path)
|
55
|
-
end
|
56
|
-
return reset_directories
|
57
|
-
end
|
58
|
-
|
59
|
-
# @param [String] druid The identifier for the object whose reset bags data is to be removed
|
60
|
-
# @return [void] remove copy of the reset data that was exported to preservation core
|
61
|
-
def self.cleanup_reset_export(druid, last_version)
|
62
|
-
id = druid.split(':').last
|
63
|
-
base_bag_directory = File.join(Config.cleanup.local_export_home, id)
|
64
|
-
|
65
|
-
bag_dir_list = get_reset_bag_dir_list(last_version, base_bag_directory)
|
66
|
-
bag_dir_list.each do |bag_dir|
|
67
|
-
Pathname(bag_dir).rmtree
|
68
|
-
end
|
69
|
-
|
70
|
-
bag_tar_list = get_reset_bag_tar_list(last_version, base_bag_directory)
|
71
|
-
bag_tar_list.each do |bag_tar|
|
72
|
-
Pathname(bag_tar).rmtree
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
# @param [Integer] last_version The last version that the data should be removed until version 1
|
77
|
-
# @param [String] base_bag_directory The base bag directory including the export home and druid id
|
78
|
-
# @return [void] prepares a list of reset bag directories that should be removed
|
79
|
-
def self.get_reset_bag_dir_list(last_version, base_bag_directory)
|
80
|
-
reset_bags = []
|
81
|
-
for i in 1..last_version do
|
82
|
-
reset_path = "#{base_bag_directory}_v#{i}"
|
83
|
-
reset_bags.append(reset_path) if File.exists?(reset_path)
|
84
|
-
end
|
85
|
-
return reset_bags
|
86
|
-
end
|
87
|
-
|
88
|
-
# @param [String] base_bag_directory The base bag directory including the export home and druid id
|
89
|
-
# @param [Integer] last_version The last version that the data should be removed until version 1
|
90
|
-
# @return [void] prepares a list of reset bag tars that should be removed
|
91
|
-
def self.get_reset_bag_tar_list(last_version, base_bag_directory)
|
92
|
-
reset_bags = []
|
93
|
-
for i in 1..last_version do
|
94
|
-
reset_path = "#{base_bag_directory}_v#{i}.tar"
|
95
|
-
reset_bags.append(reset_path) if File.exists?(reset_path)
|
96
|
-
end
|
97
|
-
return reset_bags
|
98
|
-
end
|
99
|
-
|
100
|
-
end
|
101
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
module Dor
|
2
|
-
|
3
|
-
# Rename the druid trees at the end of the accessionWF in order to be cleaned/deleted later.
|
4
|
-
class ResetWorkspaceService
|
5
|
-
|
6
|
-
def self.reset_workspace_druid_tree(druid, version, workspace_root)
|
7
|
-
|
8
|
-
druid_tree_path = DruidTools::Druid.new(druid, workspace_root).pathname.to_s
|
9
|
-
|
10
|
-
raise "The archived directory #{druid_tree_path}_v#{version} already existed." if File.exists?("#{druid_tree_path}_v#{version}")
|
11
|
-
|
12
|
-
if File.exists?(druid_tree_path)
|
13
|
-
FileUtils.mv(druid_tree_path, "#{druid_tree_path}_v#{version}")
|
14
|
-
end #Else is a truncated tree where we shouldn't do anything
|
15
|
-
|
16
|
-
end
|
17
|
-
|
18
|
-
def self.reset_export_bag(druid, version, export_root)
|
19
|
-
|
20
|
-
id = druid.split(':').last
|
21
|
-
bag_dir = File.join(export_root, id)
|
22
|
-
|
23
|
-
raise "The archived bag #{bag_dir}_v#{version} already existed." if File.exists?("#{bag_dir}_v#{version}")
|
24
|
-
|
25
|
-
if File.exists?(bag_dir)
|
26
|
-
FileUtils.mv(bag_dir, "#{bag_dir}_v#{version}")
|
27
|
-
end
|
28
|
-
|
29
|
-
if File.exists?("#{bag_dir}.tar")
|
30
|
-
FileUtils.mv("#{bag_dir}.tar", "#{bag_dir}_v#{version}.tar")
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
35
|
-
end
|