dor-services 4.12.1 → 4.12.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|