dor-services 6.6.0 → 6.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/dor/indexers/workflow_indexer.rb +1 -1
- data/lib/dor/version.rb +1 -1
- data/lib/dor/workflow/document.rb +43 -20
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1cd18417e804e157e21f34db466b6dcd63931274bde523445a33837c8be5ccbd
|
4
|
+
data.tar.gz: acd804769d9ba047c1f93407aa84fdf4e965e7fac117640dd5b284723e345dcf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: adbfbd13f0ddd200c69d55761b30cdf485c93cd0339c547df35ef9661391f5681522b9e020e88b8bc3991d63dbdf52dd38ba682668fca6f65ec3fbef3df915c9
|
7
|
+
data.tar.gz: 47dcf1212aebc8d515f328311d847d93754be771b7d530b2fc9a43a53f62b5705d8daae709eee9bc7e6e3aac990a790ef1e5e3247c33a7851d32488a2544ed10
|
data/lib/dor/version.rb
CHANGED
@@ -7,6 +7,18 @@ module Dor
|
|
7
7
|
include SolrDocHelper
|
8
8
|
include ::OM::XML::Document
|
9
9
|
|
10
|
+
ERROR_OMISSION = '... (continued)'
|
11
|
+
private_constant :ERROR_OMISSION
|
12
|
+
|
13
|
+
# see https://lucene.apache.org/core/7_3_1/core/org/apache/lucene/util/BytesRefHash.MaxBytesLengthExceededException.html
|
14
|
+
MAX_ERROR_LENGTH = 32_768 - 2 - ERROR_OMISSION.length
|
15
|
+
private_constant :MAX_ERROR_LENGTH
|
16
|
+
|
17
|
+
WF_SOLR_TYPE = :string
|
18
|
+
private_constant :WF_SOLR_TYPE
|
19
|
+
WF_SOLR_ATTRS = [:symbol].freeze
|
20
|
+
private_constant :WF_SOLR_ATTRS
|
21
|
+
|
10
22
|
set_terminology do |t|
|
11
23
|
t.root(path: 'workflow')
|
12
24
|
t.repository(path: { attribute: 'repository' })
|
@@ -88,14 +100,13 @@ module Dor
|
|
88
100
|
def to_solr(solr_doc = {}, *_args)
|
89
101
|
wf_name = workflowId.first
|
90
102
|
repo = repository.first
|
91
|
-
|
92
|
-
|
93
|
-
add_solr_value(solr_doc, '
|
94
|
-
add_solr_value(solr_doc, '
|
95
|
-
add_solr_value(solr_doc, 'wf_wsp', wf_name, wf_solr_type, wf_solr_attrs)
|
103
|
+
|
104
|
+
add_solr_value(solr_doc, 'wf', wf_name, WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
105
|
+
add_solr_value(solr_doc, 'wf_wps', wf_name, WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
106
|
+
add_solr_value(solr_doc, 'wf_wsp', wf_name, WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
96
107
|
status = processes.empty? ? 'empty' : (workflow_should_show_completed?(processes) ? 'completed' : 'active')
|
97
108
|
errors = processes.count(&:error?)
|
98
|
-
add_solr_value(solr_doc, 'workflow_status', [wf_name, status, errors, repo].join('|'),
|
109
|
+
add_solr_value(solr_doc, 'workflow_status', [wf_name, status, errors, repo].join('|'), WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
99
110
|
|
100
111
|
processes.each do |process|
|
101
112
|
next unless process.status.present?
|
@@ -104,22 +115,23 @@ module Dor
|
|
104
115
|
if !process.date_time.blank? && process.status && (process.status == 'completed' || process.status == 'error')
|
105
116
|
solr_doc["wf_#{wf_name}_#{process.name}_dttsi"] = Time.parse(process.date_time).utc.iso8601
|
106
117
|
end
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
add_solr_value(solr_doc, 'wf_wsp', "#{wf_name}:#{process.status}
|
111
|
-
add_solr_value(solr_doc, '
|
112
|
-
add_solr_value(solr_doc, 'wf_wps', "#{wf_name}:#{process.name}
|
113
|
-
add_solr_value(solr_doc, '
|
114
|
-
add_solr_value(solr_doc, 'wf_swp',
|
115
|
-
add_solr_value(solr_doc, 'wf_swp', "#{process.status}:#{wf_name}
|
118
|
+
|
119
|
+
index_error_message(solr_doc, wf_name, process)
|
120
|
+
|
121
|
+
add_solr_value(solr_doc, 'wf_wsp', "#{wf_name}:#{process.status}", WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
122
|
+
add_solr_value(solr_doc, 'wf_wsp', "#{wf_name}:#{process.status}:#{process.name}", WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
123
|
+
add_solr_value(solr_doc, 'wf_wps', "#{wf_name}:#{process.name}", WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
124
|
+
add_solr_value(solr_doc, 'wf_wps', "#{wf_name}:#{process.name}:#{process.status}", WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
125
|
+
add_solr_value(solr_doc, 'wf_swp', process.status.to_s, WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
126
|
+
add_solr_value(solr_doc, 'wf_swp', "#{process.status}:#{wf_name}", WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
127
|
+
add_solr_value(solr_doc, 'wf_swp', "#{process.status}:#{wf_name}:#{process.name}", WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
116
128
|
next unless process.state != process.status
|
117
129
|
|
118
|
-
add_solr_value(solr_doc, 'wf_wsp', "#{wf_name}:#{process.state}:#{process.name}",
|
119
|
-
add_solr_value(solr_doc, 'wf_wps', "#{wf_name}:#{process.name}:#{process.state}",
|
120
|
-
add_solr_value(solr_doc, 'wf_swp', process.state.to_s,
|
121
|
-
add_solr_value(solr_doc, 'wf_swp', "#{process.state}:#{wf_name}",
|
122
|
-
add_solr_value(solr_doc, 'wf_swp', "#{process.state}:#{wf_name}:#{process.name}",
|
130
|
+
add_solr_value(solr_doc, 'wf_wsp', "#{wf_name}:#{process.state}:#{process.name}", WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
131
|
+
add_solr_value(solr_doc, 'wf_wps', "#{wf_name}:#{process.name}:#{process.state}", WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
132
|
+
add_solr_value(solr_doc, 'wf_swp', process.state.to_s, WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
133
|
+
add_solr_value(solr_doc, 'wf_swp', "#{process.state}:#{wf_name}", WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
134
|
+
add_solr_value(solr_doc, 'wf_swp', "#{process.state}:#{wf_name}:#{process.name}", WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
123
135
|
end
|
124
136
|
|
125
137
|
solr_doc[Solrizer.solr_name('wf_wps', :symbol)]&.uniq!
|
@@ -133,6 +145,17 @@ module Dor
|
|
133
145
|
def inspect
|
134
146
|
"#<#{self.class.name}:#{object_id}>"
|
135
147
|
end
|
148
|
+
|
149
|
+
private
|
150
|
+
|
151
|
+
# index the error message without the druid so we hopefully get some overlap
|
152
|
+
# truncate to avoid org.apache.lucene.util.BytesRefHash$MaxBytesLengthExceededException
|
153
|
+
def index_error_message(solr_doc, wf_name, process)
|
154
|
+
return unless process.error_message
|
155
|
+
|
156
|
+
error_message = "#{wf_name}:#{process.name}:#{process.error_message}".truncate(MAX_ERROR_LENGTH, omission: ERROR_OMISSION)
|
157
|
+
add_solr_value(solr_doc, 'wf_error', error_message, WF_SOLR_TYPE, WF_SOLR_ATTRS)
|
158
|
+
end
|
136
159
|
end
|
137
160
|
end
|
138
161
|
end
|
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: 6.6.
|
4
|
+
version: 6.6.1
|
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: 2019-
|
17
|
+
date: 2019-03-06 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: active-fedora
|
@@ -504,14 +504,14 @@ dependencies:
|
|
504
504
|
requirements:
|
505
505
|
- - "~>"
|
506
506
|
- !ruby/object:Gem::Version
|
507
|
-
version: 0.
|
507
|
+
version: 0.65.0
|
508
508
|
type: :development
|
509
509
|
prerelease: false
|
510
510
|
version_requirements: !ruby/object:Gem::Requirement
|
511
511
|
requirements:
|
512
512
|
- - "~>"
|
513
513
|
- !ruby/object:Gem::Version
|
514
|
-
version: 0.
|
514
|
+
version: 0.65.0
|
515
515
|
- !ruby/object:Gem::Dependency
|
516
516
|
name: rubocop-rspec
|
517
517
|
requirement: !ruby/object:Gem::Requirement
|