95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
# File 'lib/cpee-logging-xes-yaml/implementation.rb', line 95
def response
opts = @a[0]
type = @p[0].value
topic = @p[1].value
event_name = @p[2].value
payload = @p[3].value.read
unless File.exist? File.join(opts[:log_dir],@h['CPEE_INSTANCE_UUID'] + '.xes.header')
notification = JSON.parse(payload)
log = YAML::load(File.read(opts[:template]))
log['log']['trace']['concept:name'] ||= notification['instance']
log['log']['trace']['cpee:name'] ||= notification['instance-name'] if notification['instance-name']
log['log']['trace']['cpee:instance'] ||= notification['instance-uuid']
log['log']['trace']['cpee:parent_instance'] ||= notification.dig('content','attributes','parent_instance').to_i if notification.dig('content','attributes','parent_instance')
log['log']['trace']['cpee:parent_instance_uuid'] ||= notification.dig('content','attributes','parent_instance_uuid') if notification.dig('content','attributes','parent_instance_uuid')
log['log']['trace']['cpee:parent_instance_model'] ||= notification.dig('content','attributes','parent_instance_model') if notification.dig('content','attributes','parent_instance_model')
log['log']['trace']['cpee:parent_instance_task_id'] ||= notification.dig('content','attributes','parent_instance_task_id') if notification.dig('content','attributes','parent_instance_task_id')
log['log']['trace']['cpee:parent_instance_task_label'] ||= notification.dig('content','attributes','parent_instance_task_label') if notification.dig('content','attributes','parent_instance_task_label')
File.open(File.join(opts[:log_dir],@h['CPEE_INSTANCE_UUID']+'.xes.header'),'w'){|f| f.puts log.to_yaml}
end
EM.defer do
CPEE::Logging::forward opts, topic, event_name, payload
end if type == 'event'
EM.defer do
CPEE::Logging::doc opts, topic, event_name, payload
end
nil
end
|