dor-services 6.6.0 → 6.6.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 +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
|