class SoarSr::ServiceComponents
Public Instance Methods
configure_meta_for_service_component(service_component, meta)
click to toggle source
# File lib/soar_sr/service_components.rb, line 97 def configure_meta_for_service_component(service_component, meta)_{ service_component = standardize(service_component) authorize provided?(service_component, 'service component') and provided?(meta, 'meta') and meta?(meta) and registered?(service_component, 'service-components') descriptions = merge_meta_with_service_component_descriptions(service_component, meta) result = update_service_component_descriptions(service_component, descriptions) authorized?(result) and identifier?(result, 'meta') success('meta updated', result['data']) }end
configure_service_component_uri(service_component, uri)
click to toggle source
# File lib/soar_sr/service_components.rb, line 78 def configure_service_component_uri(service_component, uri)_{ service_component = standardize(service_component) authorize provided?(service_component, 'service component') and provided?(uri, 'URI') and uri?(uri) and registered?(service_component, 'service-components') result = @uddi.save_service_component_uri(service_component, uri) authorized?(result) and identifier?(result, 'service component') success }end
delete_all_service_components()
click to toggle source
# File lib/soar_sr/service_components.rb, line 8 def delete_all_service_components()_{ authorize result = list_service_components if has_data?(result, 'service_components') result['data']['service_components'].each do |name, detail| @uddi.delete_service_component(name) end end }end
deregister_service_component(service_component)
click to toggle source
# File lib/soar_sr/service_components.rb, line 67 def deregister_service_component(service_component)_{ service_component = standardize(service_component) # byebug authorize provided?(service_component, 'service component') and registered?(service_component, 'service-components') raise ValidationError, 'service component has domain perspective associations' if @registry.associations.service_component_has_domain_perspective_associations?(service_component) result = @uddi.delete_service_component(service_component) authorized?(result) and identifier?(result, 'service component') success('service component deregistered') }end
list_service_components(domain_perspective = nil)
click to toggle source
# File lib/soar_sr/service_components.rb, line 18 def list_service_components(domain_perspective = nil)_{ domain_perspective = standardize(domain_perspective) return fail('unknown domain perspective provided') if domain_perspective and (not is_registered?(@registry.domain_perspectives.domain_perspective_registered?(domain_perspective))) result = @uddi.find_service_components service_components = has_data?(result, 'services') ? result['data']['services'] : {} found = [] if not domain_perspective.nil? associations = @registry.associations.domain_perspective_associations(domain_perspective)['data']['associations']['service_components'] return success_data({'service_components' => []}) if associations.count == 0 associations.each do |id, associated| if associated service_components.each do |sid, service_component| found << sid if compile_domain_id('service-components', sid) == id end end end else service_components.each do |sid, service_component| found << sid end end success_data('service_components' => found) }end
meta_for_service_component(service_component)
click to toggle source
# File lib/soar_sr/service_components.rb, line 108 def meta_for_service_component(service_component) service_component = standardize(service_component) provided?(service_component, 'service component') and registered?(service_component, 'service-components') detail = @uddi.get_service_component(service_component)['data'] if detail['description'] detail['description'].each do |desc| return JSON.parse(CGI.unescape(desc)) if (description_is_meta?(desc)) end end {} end
register_service_component(service_component)
click to toggle source
# File lib/soar_sr/service_components.rb, line 57 def register_service_component(service_component)_{ service_component = standardize(service_component) authorize provided?(service_component, 'service component') and not_registered?(service_component, 'service-components') result = @uddi.save_service_component(service_component) authorized?(result) and identifier?(result, 'service component') success('service component registered') }end
service_component_registered?(service_component)
click to toggle source
# File lib/soar_sr/service_components.rb, line 46 def service_component_registered?(service_component)_{ service_component = standardize(service_component) result = @uddi.find_service_components(service_component) if has_data?(result, 'services') result['data']['services'].each do |service_key, description| return success_data({'registered' => true}) if (service_component.downcase == service_key.downcase) end end success_data({'registered' => false}) }end
service_component_uri(service_component)
click to toggle source
# File lib/soar_sr/service_components.rb, line 87 def service_component_uri(service_component)_{ service_component = standardize(service_component) provided?(service_component, 'service component') and registered?(service_component, 'service-components') result = @uddi.find_service_component_uri(service_component) identifier?(result, 'service component') uri = (has_data?(result, 'bindings') and (result['data']['bindings'].size > 0)) ? result['data']['bindings'].first[1]['access_point'] : nil result['data']['uri'] = uri success_data(result['data']) }end
Private Instance Methods
merge_meta_with_service_component_descriptions(service_component, meta)
click to toggle source
# File lib/soar_sr/service_components.rb, line 122 def merge_meta_with_service_component_descriptions(service_component, meta) detail = @uddi.get_service_component(service_component)['data'] merge_meta_with_descriptions(detail, meta) end
update_service_component_descriptions(service_component, descriptions)
click to toggle source
# File lib/soar_sr/service_components.rb, line 127 def update_service_component_descriptions(service_component, descriptions) detail = @uddi.get_service_component(service_component)['data'] detail['description'] = descriptions @uddi.save_service_component(detail['name'], detail['description'], detail['definition']) end