server/handlerwrappers/default.rb in cpee-1.3.228 vs server/handlerwrappers/default.rb in cpee-1.3.230
- old
+ new
@@ -38,14 +38,16 @@
@handler_continue = continue
@handler_endpoint = endpoint
@handler_position = position
@handler_passthrough = nil
@handler_returnValue = nil
+ @label = ''
end # }}}
def activity_handle(passthrough, parameters) # {{{
- @controller.notify("activity/calling", :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters, :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
+ @label = parameters[:label]
+ @controller.notify("activity/calling", :instance => @controller.instance, :instance_uuid => @controller.uuid, :label => @label, :instance_name => @controller.info, :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters, :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
if passthrough.nil?
params = []
callback = Digest::MD5.hexdigest(Kernel::rand().to_s)
(parameters[:arguments] || []).each do |s|
if s.respond_to?(:mimetype)
@@ -80,10 +82,13 @@
else
@controller.callbacks[passthrough] = CPEE::Callback.new("callback activity: #{@handler_position}",self,:callback,nil,nil,:http)
@handler_passthrough = passthrough
end
end # }}}
+ def activity_manipulate_handle(parameters) #{{{
+ @label = parameters[:label]
+ end #}}}
def activity_result_status # {{{
WEEL::Status.new(1, "everything okay")
end # }}}
@@ -103,32 +108,32 @@
def activity_no_longer_necessary # {{{
true
end # }}}
def inform_activity_done # {{{
- @controller.notify("activity/done", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
+ @controller.notify("activity/done", :endpoint => @handler_endpoint, :instance => @controller.instance, :label => @label, :instance_name => @controller.info, :instance_uuid => @controller.uuid, :activity => @handler_position, :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
end # }}}
def inform_activity_manipulate # {{{
- @controller.notify("activity/manipulating", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
+ @controller.notify("activity/manipulating", :endpoint => @handler_endpoint, :instance => @controller.instance, :label => @label, :instance_name => @controller.info, :instance_uuid => @controller.uuid, :activity => @handler_position, :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
end # }}}
def inform_activity_failed(err) # {{{
puts err.message
puts err.backtrace
- @controller.notify("activity/failed", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :message => err.message, :line => err.backtrace[0].match(/(.*?):(\d+):/)[2], :where => err.backtrace[0].match(/(.*?):(\d+):/)[1], :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
+ @controller.notify("activity/failed", :endpoint => @handler_endpoint, :label => @label, :instance_name => @controller.info, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :message => err.message, :line => err.backtrace[0].match(/(.*?):(\d+):/)[2], :where => err.backtrace[0].match(/(.*?):(\d+):/)[1], :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
end # }}}
def inform_manipulate_change(status,changed_dataelements,changed_endpoints,dataelements,endpoints) # {{{
unless status.nil?
@controller.serialize_status!
- @controller.notify("status/change", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :id => status.id, :message => status.message)
+ @controller.notify("status/change", :endpoint => @handler_endpoint, :label => @label, :instance_name => @controller.info, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :id => status.id, :message => status.message)
end
unless changed_dataelements.nil?
@controller.serialize_dataelements!
- @controller.notify("dataelements/change", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :changed => changed_dataelements)
+ @controller.notify("dataelements/change", :endpoint => @handler_endpoint, :label => @label, :instance_name => @controller.info, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :changed => changed_dataelements, :values => dataelements)
end
unless changed_endpoints.nil?
@controller.serialize_endpoints!
- @controller.notify("endpoints/change", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :changed => changed_endpoints)
+ @controller.notify("endpoints/change", :endpoint => @handler_endpoint, :label => @label, :instance_name => @controller.info, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :changed => changed_endpoints, :values => endpoints)
end
end # }}}
def vote_sync_after # {{{
@controller.call_vote("activity/syncing_after", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
@@ -146,12 +151,16 @@
result = JSON::parse(result[0].value.read) rescue nil
elsif result[0].mimetype == 'application/xml' || result[0].mimetype == 'text/xml'
result = XML::Smart::string(result[0].value.read) rescue nil
elsif result[0].mimetype == 'text/plain'
result = result[0].value.read
- result = result.to_f if result == result.to_f.to_s
- result = result.to_i if result == result.to_i.to_s
+ if result.start_with?("<?xml version=")
+ result = XML::Smart::string(result)
+ else
+ result = result.to_f if result == result.to_f.to_s
+ result = result.to_i if result == result.to_i.to_s
+ end
elsif result[0].mimetype == 'text/html'
result = result[0].value.read
result = result.to_f if result == result.to_f.to_s
result = result.to_i if result == result.to_i.to_s
else
@@ -178,10 +187,10 @@
end
end
end
def callback(result=nil,options={})
- @controller.notify("activity/receiving", :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :endpoint => @handler_endpoint, :received => structurize_result(result), :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
+ @controller.notify("activity/receiving", :instance => @controller.instance, :label => @label, :instance_name => @controller.info, :instance_uuid => @controller.uuid, :activity => @handler_position, :endpoint => @handler_endpoint, :received => structurize_result(result), :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
result = simplify_result(result)
if options['CPEE_UPDATE']
@handler_returnValue = result
if options['CPEE_UPDATE_STATUS']
@controller.notify("activity/status", :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :endpoint => @handler_endpoint, :status => options['CPEE_UPDATE_STATUS'], :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))