dor-services 4.22.0 → 4.22.1
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 +8 -8
- data/config/certs/robots-dor-dev.crt +29 -0
- data/config/certs/robots-dor-dev.key +27 -0
- data/config/dev_console_env.rb +77 -0
- data/lib/dor/config.rb +4 -3
- data/lib/dor/datastreams/workflow_ds.rb +65 -80
- data/lib/dor/models/workflow_object.rb +5 -4
- data/lib/dor/version.rb +1 -1
- metadata +8 -5
checksums.yaml
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
!binary "U0hBMQ==":
|
|
3
3
|
metadata.gz: !binary |-
|
|
4
|
-
|
|
4
|
+
NTgxNmYwMjFmNWQwZGZjZDViMmVmYWJmNDEwMTVjMWE0ODQ4OWI4ZA==
|
|
5
5
|
data.tar.gz: !binary |-
|
|
6
|
-
|
|
6
|
+
MzY1YmM5ZWI5ZTBmN2M3YzhiN2Y0NDBhZTQ1YzI0MzdlMzIyNmEwZQ==
|
|
7
7
|
SHA512:
|
|
8
8
|
metadata.gz: !binary |-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
ODMyMjRlYTE5MTM3MTBjM2YwODZhMDQzMGI1NWFmMjUwODFjYjNiODk3NzUy
|
|
10
|
+
ZTU5NTE2NTFmNGUxZjM3MWQ5MDkyNjM4MzFmODIyMzE2ZjliNDAyZjI5NGZm
|
|
11
|
+
MDY3Mzc5OTcyN2FmNzRiMTE2YmJjZWYwYWUyMTlkZTZkMmJlMTE=
|
|
12
12
|
data.tar.gz: !binary |-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
YjRiNmZiOTZkMGUzMTJmNzdiYjBmYzQ4YjQ1YThhYjQzYTQ3MDczN2JmM2U5
|
|
14
|
+
ZDI5M2EyNTlmZmM5ZjQzN2ZmN2MxODdmOWM5ZWZlOTA5OWQ5YThiM2IwM2Jj
|
|
15
|
+
NmM0MjIyNGZjMDg3ZTI3ODc3MjBkNzI1ZGU2NWZlNzQ2ZDBlY2U=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIE9zCCAt8CCQCcUJVDTu7rTjANBgkqhkiG9w0BAQUFADCBvzELMAkGA1UEBhMC
|
|
3
|
+
VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFN0YW5mb3JkMRwwGgYD
|
|
4
|
+
VQQKExNTdGFuZm9yZCBVbml2ZXJzaXR5MRIwEAYDVQQLEwlMaWJyYXJpZXMxJTAj
|
|
5
|
+
BgNVBAMTHFNVTCBET1IgKGRldi90ZXN0KSBhY2Nlc3MgQ0ExLzAtBgkqhkiG9w0B
|
|
6
|
+
CQEWIHN1bC13ZWJtYXN0ZXJAbGlzdHMuc3RhbmZvcmQuZWR1MB4XDTEyMDkyNjE1
|
|
7
|
+
NTQzNVoXDTIyMDkyNDE1NTQzNVowgboxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpD
|
|
8
|
+
YWxpZm9ybmlhMREwDwYDVQQHEwhTdGFuZm9yZDEcMBoGA1UEChMTU3RhbmZvcmQg
|
|
9
|
+
VW5pdmVyc2l0eTEyMDAGA1UEAxQpcm9ib3RzQHN1bC1seWJlcnNlcnZpY2VzLWRl
|
|
10
|
+
di5zdGFuZm9yZC5lZHUxMTAvBgkqhkiG9w0BCQEWImRsc3MtZGV2ZWxvcGVyc0Bs
|
|
11
|
+
aXN0cy5zdGFuZm9yZC5lZHUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
|
12
|
+
AQC1t+PPhLTDFQBuAf4f1GOj7jHdXMN0tvSHL1OCaibe0d8iKbXCMMIE0z8lbBpZ
|
|
13
|
+
1pA+8terIvxoTlly92EEvGkywZb+DIxnjyG0b9ftDJ64pARJMcnvwJMW/w3WdHCd
|
|
14
|
+
5uJ5HVM8ZCbEItUfskFukS6tfNBpG8ri6cIQ2ulJzOWYxPV5R2eRneM6vtFD0xtu
|
|
15
|
+
RJb/uMwiOwB79qk4QazbEQtkeZsrvomDFkIuHO/nf9wmgYG99H7q1kXplIrzDDX+
|
|
16
|
+
fvD+JHvuMr5YXfmBQ9wmaZf6YIL7CXj79HUF4uG/a0SjrLZyLh262zWJQFVpjSW8
|
|
17
|
+
Brl/fAyjeZvWJMyCDXRqsedjAgMBAAEwDQYJKoZIhvcNAQEFBQADggIBAG0jIfTj
|
|
18
|
+
1FJsxTzcD938vtKuNo5XEIX8phqW1MA2eJ5Ojgu1hpW5Jf7fmUHKVnamm7eya5QR
|
|
19
|
+
356KCJzZzwdCS4xVFq/l43gCA2j8TYrwO6/0EfM/5psUZS3ecwahzcJXfHPHvd9u
|
|
20
|
+
qaXRqbjJYi+Ls70uStTC/JBIIu48atDF0DeXJ21hAbstZ1OKKNzAcYgZk14GKxCi
|
|
21
|
+
ArgAzdg8UDtC4KsdqgxP6vF8Vc/gcHSu9AkVHgPVXbITjV0/kaKNgFi0bVqP7bJD
|
|
22
|
+
hrUFYrS+S+hflQJCmVrDwW0JU2HnJ3EJOFX5F4FYHL4vt6ZjVsMzucraMqiLyUaO
|
|
23
|
+
s6DVaWO8WMlphmFUfb3ChQjrKxFZZ6vKJPD/ExnQHa0kWwOELyMJuXw2PLk7k+qD
|
|
24
|
+
rmjX+K3Ed+JiJuiDG5k8f1BDZE24lvxDwye5fQyDWPfib1yTClYYy4PRh4AI688f
|
|
25
|
+
qgMyv51Qx82o0IJ1On1rNg5/iB7OEVcYSol3U5xiY9gRUd3vq637agZzMuRQnKXs
|
|
26
|
+
Uj0+Vl4OrZ54F8MVsUKfi7Je1oVUEhuHqFt/tSOGlHg1XyR/ExwulCNBKIVdhhrF
|
|
27
|
+
rxZCYrGDSUCF6tteJXpOBTtFT9b7hbMmBohKyS4XjfPSPRh9QHx7wepqSp3aHpmR
|
|
28
|
+
4gY8Go40mS83xHCKBooqsy2/Z9vQlSb9Cr8u
|
|
29
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
MIIEpQIBAAKCAQEAtbfjz4S0wxUAbgH+H9Rjo+4x3VzDdLb0hy9Tgmom3tHfIim1
|
|
3
|
+
wjDCBNM/JWwaWdaQPvLXqyL8aE5ZcvdhBLxpMsGW/gyMZ48htG/X7QyeuKQESTHJ
|
|
4
|
+
78CTFv8N1nRwnebieR1TPGQmxCLVH7JBbpEurXzQaRvK4unCENrpSczlmMT1eUdn
|
|
5
|
+
kZ3jOr7RQ9MbbkSW/7jMIjsAe/apOEGs2xELZHmbK76JgxZCLhzv53/cJoGBvfR+
|
|
6
|
+
6tZF6ZSK8ww1/n7w/iR77jK+WF35gUPcJmmX+mCC+wl4+/R1BeLhv2tEo6y2ci4d
|
|
7
|
+
uts1iUBVaY0lvAa5f3wMo3mb1iTMgg10arHnYwIDAQABAoIBAQCmlDzsZZ2C24S6
|
|
8
|
+
U29OZFc21kq1vqyaGIEOT48BFSguyDsAyTWKH0IsRC41suRxCGTQn7KeegLh5zjO
|
|
9
|
+
UAGK4uCYm6g7mOs4n5fpHUHWVuRFJG2dX1vbQTBVO1fHCJSX2ygumHhN+w0ibT/r
|
|
10
|
+
v2+F2ObuOGWghM62tkylQNfsRD0QjalE8ST2xp9p4xwPrAwEuURlA04qnLYNi4+6
|
|
11
|
+
qexDtrLG8E6JV/dd3dY95WjKPscadR1fAKm9sebD0XO31Lu6BGCvpmBU0OmYVfrY
|
|
12
|
+
BN/ofhEmJh+Xgwfxx6PicRDvu9bPnffqbGhDO4ckGDlqXp1fDBgf1I7CclXdrVMH
|
|
13
|
+
Qsxunh5pAoGBAN7929V1aw0S7Rqvuf4N+o1XwBExa2DL7EYI1Oea/nuBMPqvfeNh
|
|
14
|
+
SrbM0gYejEzLmeRUUKRhMMoAgXQnxcg3Kz/5pUXT3b4YtzeskX8nkJ6/2gEU3M7E
|
|
15
|
+
lJj7c5wW1otqMH19+iDNR4N8vjPh98kDJW1HZUHSAcdyE+dZiFP2ofMfAoGBANCe
|
|
16
|
+
AJgA9EkdwZsom+I7Ty9LSrTWx6cKmNEbLVn1iSlyJx1kHoWyTMtuZszCWBjiXx70
|
|
17
|
+
84WpX2B4MuJBq6sSoEiUahNsphks82glOd6i+eoE/I+NtZehOFnkAMyGux+FbMyG
|
|
18
|
+
q/9ZlQgsbWpFHxS59vX/kvlNun2RpJkaF6QPBuc9AoGBAIGdscCb5cPNsoCGkGf6
|
|
19
|
+
HB84WG4l+bJkFkyHKaoOT8neSGgOxe/7R4CGAbaI3yhsWGF+GPnTfJaOQLERxUch
|
|
20
|
+
ukQPil/STNwIZcc4ycHNb6S3A7MJO2f8oBtkXcjnBYI4EUOAjHmwmNb3FV/3Ax6W
|
|
21
|
+
c5TXoSXnOh2CU8twIWwcufolAoGATqnFf4uckZVu05rUbNIAYcz6NoZmck5EoVSm
|
|
22
|
+
HS3Asqggp6yA9djtrCfNC5icr4VsaLfku5nKJQ4t4bLxkGhNmBCejwSA/S09+x9O
|
|
23
|
+
Wu0JX3zR3y+IMczQ+tRGmNiU5qXhCJ4fbQHSeGqIN3Io7h/RR6E/QlJU59RrRG/a
|
|
24
|
+
SjqAV+ECgYEA2mA5VFK3jECnLde+biEaXidIOuBMcqaP0VG6sBwz2wTGSTBE1WkG
|
|
25
|
+
6prCD0McWVAgDTm3MMKxeuMaoW5eEi83+G+CywLaTBpc8Hz7qgRhBpKhRirCfHMW
|
|
26
|
+
EfQV5k32vEGoSI+eG8zcGb9mwDeb/EWXAMGXrx2YuYFu7txtwC2mZXc=
|
|
27
|
+
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
cert_dir = File.join(File.dirname(__FILE__), 'certs')
|
|
2
|
+
|
|
3
|
+
Dor::Config.configure do
|
|
4
|
+
|
|
5
|
+
ssl do
|
|
6
|
+
cert_file File.join(cert_dir, 'robots-dor-dev.crt')
|
|
7
|
+
key_file File.join(cert_dir, 'robots-dor-dev.key')
|
|
8
|
+
key_pass ''
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
suri do
|
|
12
|
+
mint_ids true
|
|
13
|
+
id_namespace 'druid'
|
|
14
|
+
url 'https://lyberservices-dev.stanford.edu'
|
|
15
|
+
user 'labware'
|
|
16
|
+
pass 'lyberteam'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
metadata do
|
|
20
|
+
exist.url 'http://viewer:l3l%40nd@lyberapps-dev.stanford.edu/exist/rest/'
|
|
21
|
+
catalog.url 'http://lyberservices-prod.stanford.edu/catalog/mods'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
stacks do
|
|
25
|
+
document_cache_host 'purl-dev.stanford.edu'
|
|
26
|
+
local_stacks_root '/stacks'
|
|
27
|
+
local_document_cache_root '/purl/document_cache'
|
|
28
|
+
local_workspace_root '/dor/workspace'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
solrizer.url 'http://sul-solr.stanford.edu/solr/argo_test'
|
|
32
|
+
fedora.url 'https://sul-dor-test.stanford.edu/fedora'
|
|
33
|
+
workflow.url 'https://lyberservices-dev.stanford.edu/workflow/'
|
|
34
|
+
dor_services.url 'https://dorAdmin:dorAdmin@sul-lyberservices-dev.stanford.edu/dor'
|
|
35
|
+
|
|
36
|
+
cleanup do
|
|
37
|
+
local_workspace_root '/dor/workspace'
|
|
38
|
+
local_export_home '/dor/export'
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
sdr do
|
|
42
|
+
url 'https://sdrAdmin:sdrAdmin@sdr-services-test.stanford.edu/sdr/'
|
|
43
|
+
local_workspace_root '/dor/workspace'
|
|
44
|
+
local_export_home '/dor/export'
|
|
45
|
+
datastreams do
|
|
46
|
+
administrativeMetadata 'optional'
|
|
47
|
+
contentMetadata 'optional'
|
|
48
|
+
descMetadata 'required'
|
|
49
|
+
defaultObjectRights 'optional'
|
|
50
|
+
events 'optional'
|
|
51
|
+
embargoMetadata 'optional'
|
|
52
|
+
identityMetadata 'required'
|
|
53
|
+
provenanceMetadata 'required'
|
|
54
|
+
relationshipMetadata 'required'
|
|
55
|
+
rightsMetadata 'optional'
|
|
56
|
+
roleMetadata 'optional'
|
|
57
|
+
sourceMetadata 'optional'
|
|
58
|
+
technicalMetadata 'optional'
|
|
59
|
+
versionMetadata 'required'
|
|
60
|
+
workflows 'optional'
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
accessioning_robot_sleep_time 30
|
|
65
|
+
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
#WORKFLOW_URI = 'http://lyberservices-test.stanford.edu/workflow'
|
|
69
|
+
|
|
70
|
+
# Constants for Dor::WorkflowService
|
|
71
|
+
#module Dor
|
|
72
|
+
# CREATE_WORKFLOW = DOR_CREATE_WORKFLOW = true
|
|
73
|
+
# WF_URI = 'http://lyberservices-test.stanford.edu/workflow'
|
|
74
|
+
#end
|
|
75
|
+
|
|
76
|
+
# External application locations
|
|
77
|
+
JHOVE_HOME = File.join(ENV['HOME'], 'jhoveToolkit')
|
data/lib/dor/config.rb
CHANGED
|
@@ -27,6 +27,7 @@ module Dor
|
|
|
27
27
|
end
|
|
28
28
|
params = { :dor_services_url => result.dor_services.url }
|
|
29
29
|
params[:timeout] = result.workflow.timeout if result.workflow.timeout
|
|
30
|
+
# params[:logger] = Logger.new('logs/workflow_service.log', 'weekly') # if you want to control the logger, insert it here.
|
|
30
31
|
Dor::WorkflowService.configure result.workflow.url, params
|
|
31
32
|
return result
|
|
32
33
|
end
|
|
@@ -58,7 +59,7 @@ module Dor
|
|
|
58
59
|
set_callback :initialize, :after do |config|
|
|
59
60
|
config.deep_merge!({
|
|
60
61
|
:fedora => {
|
|
61
|
-
:client
|
|
62
|
+
:client => Confstruct.deferred { |c| config.make_rest_client c.url },
|
|
62
63
|
:safeurl => Confstruct.deferred { |c|
|
|
63
64
|
begin
|
|
64
65
|
fedora_uri = URI.parse(config.fedora.url)
|
|
@@ -74,11 +75,11 @@ module Dor
|
|
|
74
75
|
},
|
|
75
76
|
:gsearch => {
|
|
76
77
|
:rest_client => Confstruct.deferred { |c| config.make_rest_client c.rest_url },
|
|
77
|
-
:client
|
|
78
|
+
:client => Confstruct.deferred { |c| config.make_rest_client c.url }
|
|
78
79
|
},
|
|
79
80
|
:stomp => {
|
|
80
81
|
:connection => Confstruct.deferred { |c| Stomp::Connection.new c.user, c.password, c.host, c.port, true, 5, { 'client-id' => c.client_id }},
|
|
81
|
-
:client
|
|
82
|
+
:client => Confstruct.deferred { |c| Stomp::Client.new c.user, c.password, c.host, c.port }
|
|
82
83
|
}
|
|
83
84
|
})
|
|
84
85
|
true
|
|
@@ -1,103 +1,88 @@
|
|
|
1
1
|
module Dor
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
# TODO: class docs
|
|
3
|
+
class WorkflowDs < ActiveFedora::OmDatastream
|
|
4
|
+
include SolrDocHelper
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
set_terminology do |t|
|
|
7
|
+
t.root(:path => 'workflows')
|
|
8
|
+
t.workflow {
|
|
9
|
+
t.workflowId( :path => {:attribute => 'id'} )
|
|
10
|
+
t.process {
|
|
11
|
+
t.name_( :path => {:attribute => 'name' }, :index_as => [:displayable, :not_searchable] )
|
|
12
|
+
t.status( :path => {:attribute => 'status' }, :index_as => [:displayable, :not_searchable] )
|
|
13
|
+
t.timestamp(:path => {:attribute => 'datetime' }, :index_as => [:displayable, :not_searchable] )#, :data_type => :date)
|
|
14
|
+
t.elapsed( :path => {:attribute => 'elapsed' }, :index_as => [:displayable, :not_searchable] )
|
|
15
|
+
t.lifecycle(:path => {:attribute => 'lifecycle'}, :index_as => [:displayable, :not_searchable] )
|
|
16
|
+
t.attempts( :path => {:attribute => 'attempts' }, :index_as => [:displayable, :not_searchable] )
|
|
17
|
+
}
|
|
16
18
|
}
|
|
17
|
-
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def initialize *args
|
|
21
|
-
self.field_mapper = UtcDateFieldMapper.new
|
|
22
|
-
super
|
|
23
|
-
end
|
|
19
|
+
end
|
|
24
20
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
if xml.xpath('workflow').length == 0
|
|
29
|
-
nil
|
|
30
|
-
else
|
|
31
|
-
Workflow::Document.new(xml.to_s)
|
|
21
|
+
def initialize(*args)
|
|
22
|
+
self.field_mapper = UtcDateFieldMapper.new
|
|
23
|
+
super
|
|
32
24
|
end
|
|
33
|
-
end
|
|
34
25
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
nil
|
|
40
|
-
else
|
|
26
|
+
def get_workflow(wf, repo = 'dor')
|
|
27
|
+
xml = Dor::WorkflowService.get_workflow_xml(repo, pid, wf)
|
|
28
|
+
xml = Nokogiri::XML(xml)
|
|
29
|
+
return nil if xml.xpath('workflow').length == 0
|
|
41
30
|
Workflow::Document.new(xml.to_s)
|
|
42
31
|
end
|
|
43
|
-
end
|
|
44
32
|
|
|
45
|
-
|
|
46
|
-
ng_xml
|
|
47
|
-
self.xml_loaded = true
|
|
48
|
-
end
|
|
33
|
+
alias :[] :get_workflow
|
|
49
34
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
35
|
+
def ensure_xml_loaded
|
|
36
|
+
ng_xml
|
|
37
|
+
self.xml_loaded = true
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def ng_xml
|
|
41
|
+
@ng_xml ||= Nokogiri::XML::Document.parse(content)
|
|
42
|
+
end
|
|
53
43
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
@content ||= Dor::WorkflowService.get_workflow_xml 'dor', self.pid, nil
|
|
44
|
+
def content
|
|
45
|
+
@content ||= Dor::WorkflowService.get_workflow_xml 'dor', pid, nil
|
|
57
46
|
rescue RestClient::ResourceNotFound
|
|
58
|
-
xml = Nokogiri::XML(%
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
end
|
|
47
|
+
xml = Nokogiri::XML(%(<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<workflows objectId="#{pid}"/>))
|
|
48
|
+
digital_object.datastreams.keys.each do |dsid|
|
|
49
|
+
next unless dsid =~ /WF$/
|
|
50
|
+
ds_content = Nokogiri::XML(Dor::WorkflowService.get_workflow_xml 'dor', pid, dsid)
|
|
51
|
+
xml.root.add_child(ds_content.root)
|
|
64
52
|
end
|
|
65
53
|
@content ||= xml.to_xml
|
|
66
54
|
end
|
|
67
|
-
end
|
|
68
55
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
56
|
+
def workflows
|
|
57
|
+
@workflows ||= workflow.nodeset.collect { |wf_node| Workflow::Document.new wf_node.to_xml }
|
|
58
|
+
end
|
|
72
59
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
60
|
+
def graph(dir = nil)
|
|
61
|
+
result = GraphViz.digraph(pid)
|
|
62
|
+
sg = result.add_graph('rank') { |g| g[:rank => 'same'] }
|
|
63
|
+
workflows.each do |wf|
|
|
64
|
+
unless wf.nil?
|
|
65
|
+
g = wf.graph(result)
|
|
66
|
+
sg.add_node(g.root.id) unless g.nil?
|
|
67
|
+
end
|
|
81
68
|
end
|
|
69
|
+
result['rankdir'] = dir || 'TB'
|
|
70
|
+
result
|
|
82
71
|
end
|
|
83
|
-
result['rankdir'] = dir || 'TB'
|
|
84
|
-
result
|
|
85
|
-
end
|
|
86
72
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
73
|
+
# Finds the first workflow that is expedited, then returns the value of its priority
|
|
74
|
+
#
|
|
75
|
+
# @return [Integer] value of the priority. Defaults to 0 if none of the workflows are expedited
|
|
76
|
+
def current_priority
|
|
77
|
+
cp = workflows.detect &:expedited?
|
|
78
|
+
return 0 if cp.nil?
|
|
79
|
+
cp.priority.to_i
|
|
80
|
+
end
|
|
95
81
|
|
|
96
|
-
|
|
97
|
-
#
|
|
98
|
-
|
|
99
|
-
|
|
82
|
+
def to_solr(solr_doc = {}, *args)
|
|
83
|
+
# super solr_doc, *args
|
|
84
|
+
workflows.each { |wf| wf.to_solr(solr_doc, *args) }
|
|
85
|
+
solr_doc
|
|
86
|
+
end
|
|
100
87
|
end
|
|
101
|
-
|
|
102
88
|
end
|
|
103
|
-
end
|
|
@@ -62,13 +62,14 @@ module Dor
|
|
|
62
62
|
alias_method :generate_intial_workflow, :generate_initial_workflow
|
|
63
63
|
|
|
64
64
|
# Searches DOR for the workflow definition object. It then caches the workflow repository and xml
|
|
65
|
-
# @param [String]
|
|
66
|
-
def self.find_and_cache_workflow_xml_and_repo
|
|
67
|
-
wobj =
|
|
65
|
+
# @param [String] name the name of the workflow
|
|
66
|
+
def self.find_and_cache_workflow_xml_and_repo(name)
|
|
67
|
+
wobj = find_by_name(name)
|
|
68
|
+
raise "Failed to find workflow via find_by_name('#{name}')" if wobj.nil?
|
|
68
69
|
wf_xml = wobj.generate_initial_workflow
|
|
69
70
|
@@repo_cache[name] = wobj.definition.repo
|
|
70
71
|
@@xml_cache[name] = wf_xml
|
|
71
72
|
end
|
|
72
73
|
|
|
73
74
|
end
|
|
74
|
-
end
|
|
75
|
+
end
|
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: 4.22.
|
|
4
|
+
version: 4.22.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michael Klein
|
|
@@ -12,7 +12,7 @@ authors:
|
|
|
12
12
|
autorequire:
|
|
13
13
|
bindir: bin
|
|
14
14
|
cert_chain: []
|
|
15
|
-
date: 2015-09-
|
|
15
|
+
date: 2015-09-20 00:00:00.000000000 Z
|
|
16
16
|
dependencies:
|
|
17
17
|
- !ruby/object:Gem::Dependency
|
|
18
18
|
name: active-fedora
|
|
@@ -357,7 +357,7 @@ dependencies:
|
|
|
357
357
|
version: '1.7'
|
|
358
358
|
- - ! '>='
|
|
359
359
|
- !ruby/object:Gem::Version
|
|
360
|
-
version: 1.7.
|
|
360
|
+
version: 1.7.7
|
|
361
361
|
type: :runtime
|
|
362
362
|
prerelease: false
|
|
363
363
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -367,7 +367,7 @@ dependencies:
|
|
|
367
367
|
version: '1.7'
|
|
368
368
|
- - ! '>='
|
|
369
369
|
- !ruby/object:Gem::Version
|
|
370
|
-
version: 1.7.
|
|
370
|
+
version: 1.7.7
|
|
371
371
|
- !ruby/object:Gem::Dependency
|
|
372
372
|
name: druid-tools
|
|
373
373
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -540,7 +540,10 @@ files:
|
|
|
540
540
|
- bin/dor-indexer
|
|
541
541
|
- bin/dor-indexerd
|
|
542
542
|
- config/certs/README
|
|
543
|
+
- config/certs/robots-dor-dev.crt
|
|
544
|
+
- config/certs/robots-dor-dev.key
|
|
543
545
|
- config/config_defaults.yml
|
|
546
|
+
- config/dev_console_env.rb
|
|
544
547
|
- config/dev_console_env.rb.example
|
|
545
548
|
- config/predicate_mappings.yml
|
|
546
549
|
- lib/dor-services.rb
|
|
@@ -643,7 +646,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
643
646
|
version: 1.3.6
|
|
644
647
|
requirements: []
|
|
645
648
|
rubyforge_project:
|
|
646
|
-
rubygems_version: 2.
|
|
649
|
+
rubygems_version: 2.2.2
|
|
647
650
|
signing_key:
|
|
648
651
|
specification_version: 4
|
|
649
652
|
summary: Ruby implmentation of DOR services used by the SULAIR Digital Library
|