soar_sr 0.1.8 → 0.1.9
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/soar_sr/associations.rb +14 -0
- data/lib/soar_sr/contacts.rb +3 -0
- data/lib/soar_sr/domain_perspectives.rb +20 -13
- data/lib/soar_sr/handler.rb +17 -0
- data/lib/soar_sr/search.rb +2 -1
- data/lib/soar_sr/service_components.rb +11 -5
- data/lib/soar_sr/service_definitions.rb +3 -0
- data/lib/soar_sr/services.rb +9 -0
- data/lib/soar_sr/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2702c19c60541e68ab7a9d746ba435880f17c281
|
4
|
+
data.tar.gz: 8e8cca3ba77f88cfc040c0395e0505dcfa533a37
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bdf159e353ed589d0248c5d05eaf70679caca49cef25906ba294864d2799dfec76a311e3651d4deac8f0c31e938333d93f25c37160058840109bf033431b47f8
|
7
|
+
data.tar.gz: b53f504c41535c16c83ad0d77424f39a2d38a53b9599365e3809178022a69cb348d0c7790dd9170e5bb355091208f1cdd4914e5117f8b8d66c8749d5c8c4863f
|
data/lib/soar_sr/associations.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
require 'jsender'
|
2
2
|
require 'soap4juddi'
|
3
|
+
require 'byebug'
|
3
4
|
|
4
5
|
module SoarSr
|
5
6
|
class Associations < SoarSr::Handler
|
6
7
|
include Jsender
|
7
8
|
|
8
9
|
def service_component_has_domain_perspective_associations?(service_component)_{
|
10
|
+
service_component = standardize(service_component)
|
9
11
|
provided?(service_component, 'service component')
|
10
12
|
service_component_id = compile_domain_id('service-components', service_component)
|
11
13
|
domain_perspectives = @registry.domain_perspectives.list_domain_perspectives['data']['domain_perspectives']
|
@@ -19,6 +21,7 @@ module SoarSr
|
|
19
21
|
}end
|
20
22
|
|
21
23
|
def associate_service_component_with_service(service, access_point, description = '')_{
|
24
|
+
service = standardize(service)
|
22
25
|
authorize
|
23
26
|
provided?(service, 'service') and provided?(access_point, 'access point') and uri?(access_point)
|
24
27
|
result = @uddi.add_service_uri(service, access_point)
|
@@ -28,6 +31,7 @@ module SoarSr
|
|
28
31
|
|
29
32
|
def domain_perspective_associations(domain_perspective)_{
|
30
33
|
# byebug
|
34
|
+
domain_perspective = standardize(domain_perspective)
|
31
35
|
provided?(domain_perspective, 'domain perspective') and any_registered?(domain_perspective)
|
32
36
|
meta = @registry.domain_perspectives.meta_for_domain_perspective('domains', domain_perspective) if type_registered?(domain_perspective, 'domains')
|
33
37
|
meta = @registry.domain_perspectives.meta_for_domain_perspective('teams', domain_perspective) if type_registered?(domain_perspective, 'teams')
|
@@ -35,11 +39,14 @@ module SoarSr
|
|
35
39
|
}end
|
36
40
|
|
37
41
|
def domain_perspective_has_associations?(domain_perspective)
|
42
|
+
domain_perspective = standardize(domain_perspective)
|
38
43
|
associations = domain_perspective_associations(domain_perspective)['data']['associations']
|
39
44
|
(associations['service_components'].size > 0) or (associations['services'].size > 0)
|
40
45
|
end
|
41
46
|
|
42
47
|
def associate_service_component_with_domain_perspective(service_component, domain_perspective)_{
|
48
|
+
service_component = standardize(service_component)
|
49
|
+
domain_perspective = standardize(domain_perspective)
|
43
50
|
provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domains')
|
44
51
|
provided?(service_component, 'service component') and registered?(service_component, 'service-components')
|
45
52
|
|
@@ -55,6 +62,8 @@ module SoarSr
|
|
55
62
|
}end
|
56
63
|
|
57
64
|
def associate_service_with_domain_perspective(service, domain_perspective)_{
|
65
|
+
service = standardize(service)
|
66
|
+
domain_perspective = standardize(domain_perspective)
|
58
67
|
provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domains')
|
59
68
|
provided?(service, 'service') and registered?(service, 'services')
|
60
69
|
|
@@ -70,6 +79,8 @@ module SoarSr
|
|
70
79
|
}end
|
71
80
|
|
72
81
|
def disassociate_service_component_from_domain_perspective(domain_perspective, service_component)_{
|
82
|
+
service_component = standardize(service_component)
|
83
|
+
domain_perspective = standardize(domain_perspective)
|
73
84
|
# byebug
|
74
85
|
provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domains')
|
75
86
|
provided?(service_component, 'service component') and registered?(service_component, 'service-components')
|
@@ -86,6 +97,8 @@ module SoarSr
|
|
86
97
|
}end
|
87
98
|
|
88
99
|
def disassociate_service_from_domain_perspective(domain_perspective, service)_{
|
100
|
+
service = standardize(service)
|
101
|
+
domain_perspective = standardize(domain_perspective)
|
89
102
|
# byebug
|
90
103
|
provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domains')
|
91
104
|
provided?(service, 'service') and registered?(service, 'services')
|
@@ -102,6 +115,7 @@ module SoarSr
|
|
102
115
|
}end
|
103
116
|
|
104
117
|
def delete_all_domain_perspective_associations(domain_perspective)_{
|
118
|
+
domain_perspective = standardize(domain_perspective)
|
105
119
|
# byebug
|
106
120
|
provided?(domain_perspective, 'domain perspective')
|
107
121
|
associations = domain_perspective_associations(domain_perspective)['data']['associations']
|
data/lib/soar_sr/contacts.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module SoarSr
|
2
2
|
class Contacts < SoarSr::Handler
|
3
3
|
def add_contact_to_domain_perspective(domain_perspective, contact)_{
|
4
|
+
domain_perspective = standardize(domain_perspective)
|
4
5
|
authorize
|
5
6
|
provided?(domain_perspective, 'domain perspective') and any_registered?(domain_perspective)
|
6
7
|
provided?(contact, 'contact details') and contact?(contact)
|
@@ -23,6 +24,7 @@ module SoarSr
|
|
23
24
|
}end
|
24
25
|
|
25
26
|
def contact_details_for_domain(domain_perspective)_{
|
27
|
+
domain_perspective = standardize(domain_perspective)
|
26
28
|
provided?(domain_perspective, 'domain perspective') and any_registered?(domain_perspective)
|
27
29
|
result = @registry.domain_perspectives.domain_perspective_registered?(domain_perspective)
|
28
30
|
result = @registry.teams.team_registered?(domain_perspective) if result['data']['id'].nil?
|
@@ -38,6 +40,7 @@ module SoarSr
|
|
38
40
|
}end
|
39
41
|
|
40
42
|
def remove_contact_from_domain_perspective(domain_perspective, contact)_{
|
43
|
+
domain_perspective = standardize(domain_perspective)
|
41
44
|
authorize
|
42
45
|
provided?(domain_perspective, 'domain perspective') and any_registered?(domain_perspective)
|
43
46
|
provided?(contact, 'contact details') and contact?(contact)
|
@@ -18,6 +18,7 @@ module SoarSr
|
|
18
18
|
}end
|
19
19
|
|
20
20
|
def domain_perspective_by_name(type, domain_perspective)
|
21
|
+
domain_perspective = standardize(domain_perspective)
|
21
22
|
provided?(domain_perspective, one_of(type))
|
22
23
|
@uddi.get_business(compile_domain_id(type, domain_perspective))
|
23
24
|
end
|
@@ -52,22 +53,25 @@ module SoarSr
|
|
52
53
|
}end
|
53
54
|
|
54
55
|
def configure_meta_for_domain_perspective(type, domain_perspective, meta)_{
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
56
|
+
domain_perspective = standardize(domain_perspective)
|
57
|
+
authorize
|
58
|
+
provided?(domain_perspective, one_of(type)) and registered?(domain_perspective, type)
|
59
|
+
provided?(type, 'element type') and type?(type)
|
60
|
+
provided?(meta, 'meta') and meta?(meta)
|
61
|
+
# byebug
|
62
|
+
|
63
|
+
detail = extract_detail_for_domain_perspective(type, domain_perspective)
|
64
|
+
descriptions = extract_non_meta_descriptions_for_domain_perspective(detail)
|
65
|
+
# byebug
|
66
|
+
detail['description'] = compile_meta_into_descriptions(descriptions, meta)
|
67
|
+
|
68
|
+
result = @uddi.save_business(detail['id'], detail['name'], detail['description'])
|
69
|
+
authorized?(result) and identifier?(result, type)
|
70
|
+
success('meta updated', result['data'])
|
68
71
|
}end
|
69
72
|
|
70
73
|
def meta_for_domain_perspective(type, domain_perspective)_{
|
74
|
+
domain_perspective = standardize(domain_perspective)
|
71
75
|
provided?(domain_perspective, one_of(type)) and registered?(domain_perspective, type)
|
72
76
|
provided?(type, 'element type') and type?(type)
|
73
77
|
|
@@ -81,6 +85,7 @@ module SoarSr
|
|
81
85
|
protected
|
82
86
|
|
83
87
|
def domain_registered?(type, domain_perspective)
|
88
|
+
domain_perspective = standardize(domain_perspective)
|
84
89
|
provided?(domain_perspective, one_of(type))
|
85
90
|
result = @uddi.find_businesses(domain_perspective)
|
86
91
|
registered = false
|
@@ -97,6 +102,7 @@ module SoarSr
|
|
97
102
|
end
|
98
103
|
|
99
104
|
def register_domain(type, domain_perspective)_{
|
105
|
+
domain_perspective = standardize(domain_perspective)
|
100
106
|
authorize
|
101
107
|
provided?(domain_perspective, one_of(type)) and not_registered?(domain_perspective, type)
|
102
108
|
id = compile_domain_id(type, domain_perspective)
|
@@ -106,6 +112,7 @@ module SoarSr
|
|
106
112
|
}end
|
107
113
|
|
108
114
|
def deregister_domain(type, domain_perspective)_{
|
115
|
+
domain_perspective = standardize(domain_perspective)
|
109
116
|
authorize
|
110
117
|
provided?(domain_perspective, one_of(type)) and registered?(domain_perspective, type)
|
111
118
|
raise ValidationError, 'domain perspective has associations' if @registry.associations.domain_perspective_has_associations?(domain_perspective)
|
data/lib/soar_sr/handler.rb
CHANGED
@@ -67,12 +67,29 @@ module SoarSr
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def compile_domain_id(type, element)
|
70
|
+
element = standardize(element)
|
70
71
|
return element if element.include?(@urns[type])
|
71
72
|
"#{@urns[type]}#{element}"
|
72
73
|
end
|
73
74
|
|
74
75
|
def extract_domain_name(type, element)
|
76
|
+
element = standardize(element)
|
75
77
|
element.gsub("#{@urns[type]}", "")
|
76
78
|
end
|
79
|
+
|
80
|
+
def standardize(name)
|
81
|
+
return standardize_dictionary(name) if name.is_a?(Hash)
|
82
|
+
return standardized = name.to_s.downcase if not name.nil?
|
83
|
+
nil
|
84
|
+
end
|
85
|
+
|
86
|
+
private
|
87
|
+
|
88
|
+
def standardize_dictionary(dictionary)
|
89
|
+
value = standardize(dictionary['name'])
|
90
|
+
standardized = dictionary
|
91
|
+
standardized['name'] = value
|
92
|
+
standardized
|
93
|
+
end
|
77
94
|
end
|
78
95
|
end
|
data/lib/soar_sr/search.rb
CHANGED
@@ -27,7 +27,7 @@ module SoarSr
|
|
27
27
|
success_data({ 'services' => list })
|
28
28
|
}end
|
29
29
|
|
30
|
-
def search_for_service_by_name(name)
|
30
|
+
def search_for_service_by_name(name)
|
31
31
|
search_for_service(name, false, false)
|
32
32
|
end
|
33
33
|
|
@@ -70,6 +70,7 @@ module SoarSr
|
|
70
70
|
}end
|
71
71
|
|
72
72
|
def search_domain_perspective(domain_perspective, pattern)_{
|
73
|
+
domain_perspective = standardize(domain_perspective)
|
73
74
|
provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domains')
|
74
75
|
|
75
76
|
found = {}
|
@@ -16,6 +16,7 @@ module SoarSr
|
|
16
16
|
}end
|
17
17
|
|
18
18
|
def list_service_components(domain_perspective = nil)_{
|
19
|
+
domain_perspective = standardize(domain_perspective)
|
19
20
|
return fail('unknown domain perspective provided') if domain_perspective and (not is_registered?(@registry.domain_perspectives.domain_perspective_registered?(domain_perspective)))
|
20
21
|
|
21
22
|
result = @uddi.find_service_components
|
@@ -43,6 +44,7 @@ module SoarSr
|
|
43
44
|
}end
|
44
45
|
|
45
46
|
def service_component_registered?(service_component)_{
|
47
|
+
service_component = standardize(service_component)
|
46
48
|
result = @uddi.find_service_components(service_component)
|
47
49
|
registered = false
|
48
50
|
if has_data?(result, 'services')
|
@@ -54,15 +56,17 @@ module SoarSr
|
|
54
56
|
}end
|
55
57
|
|
56
58
|
def register_service_component(service_component)_{
|
57
|
-
|
58
|
-
|
59
|
+
service_component = standardize(service_component)
|
60
|
+
authorize
|
61
|
+
provided?(service_component, 'service component') and not_registered?(service_component, 'service-components')
|
59
62
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
+
result = @uddi.save_service_component(service_component)
|
64
|
+
authorized?(result) and identifier?(result, 'service component')
|
65
|
+
success('service component registered')
|
63
66
|
}end
|
64
67
|
|
65
68
|
def deregister_service_component(service_component)_{
|
69
|
+
service_component = standardize(service_component)
|
66
70
|
# byebug
|
67
71
|
authorize
|
68
72
|
provided?(service_component, 'service component') and registered?(service_component, 'service-components')
|
@@ -73,6 +77,7 @@ module SoarSr
|
|
73
77
|
}end
|
74
78
|
|
75
79
|
def configure_service_component_uri(service_component, uri)_{
|
80
|
+
service_component = standardize(service_component)
|
76
81
|
authorize
|
77
82
|
provided?(service_component, 'service component') and provided?(uri, 'URI') and uri?(uri) and registered?(service_component, 'service-components')
|
78
83
|
result = @uddi.save_service_component_uri(service_component, uri)
|
@@ -81,6 +86,7 @@ module SoarSr
|
|
81
86
|
}end
|
82
87
|
|
83
88
|
def service_component_uri(service_component)_{
|
89
|
+
service_component = standardize(service_component)
|
84
90
|
provided?(service_component, 'service component') and registered?(service_component, 'service-components')
|
85
91
|
result = @uddi.find_service_component_uri(service_component)
|
86
92
|
identifier?(result, 'service component')
|
@@ -6,6 +6,7 @@ module SoarSr
|
|
6
6
|
include Jsender
|
7
7
|
|
8
8
|
def register_service_definition(service, definition)_{
|
9
|
+
service = standardize(service)
|
9
10
|
authorize
|
10
11
|
provided?(service, 'service') and registered?(service, 'services') and provided?(definition, 'service definition') and wadl?(definition)
|
11
12
|
result = @uddi.get_service(service)
|
@@ -17,6 +18,7 @@ module SoarSr
|
|
17
18
|
}end
|
18
19
|
|
19
20
|
def service_definition_for_service(service)_{
|
21
|
+
service = standardize(service)
|
20
22
|
# byebug
|
21
23
|
provided?(service, 'service') and registered?(service, 'services')
|
22
24
|
result = @uddi.get_service(service)['data']
|
@@ -26,6 +28,7 @@ module SoarSr
|
|
26
28
|
}end
|
27
29
|
|
28
30
|
def deregister_service_definition(service)_{
|
31
|
+
service = standardize(service)
|
29
32
|
authorize
|
30
33
|
provided?(service, 'service') and registered?(service, 'services')
|
31
34
|
result = @uddi.get_service(service)
|
data/lib/soar_sr/services.rb
CHANGED
@@ -8,6 +8,7 @@ module SoarSr
|
|
8
8
|
include Jsender
|
9
9
|
|
10
10
|
def register_service(service, description = nil)_{
|
11
|
+
service = standardize(service)
|
11
12
|
authorize
|
12
13
|
key_provided?(service, 'name', 'service') and not_registered?(service['name'], 'services')
|
13
14
|
result = @uddi.save_service(service['name'], extract_description_and_meta(service, description), service['definition'])
|
@@ -16,6 +17,7 @@ module SoarSr
|
|
16
17
|
}end
|
17
18
|
|
18
19
|
def deregister_service(service)_{
|
20
|
+
service = standardize(service)
|
19
21
|
authorize
|
20
22
|
provided?(service, 'service') and registered?(service, 'services')
|
21
23
|
result = @uddi.delete_service(service)
|
@@ -24,6 +26,7 @@ module SoarSr
|
|
24
26
|
}end
|
25
27
|
|
26
28
|
def service_registered?(service)_{
|
29
|
+
service = standardize(service)
|
27
30
|
registered = false
|
28
31
|
if present?(service)
|
29
32
|
result = @uddi.find_services(service)
|
@@ -33,6 +36,7 @@ module SoarSr
|
|
33
36
|
}end
|
34
37
|
|
35
38
|
def add_service_uri(service, uri)_{
|
39
|
+
service = standardize(service)
|
36
40
|
authorize
|
37
41
|
provided?(service, 'service') and provided?(uri, 'URI') and uri?(uri) and registered?(service, 'services')
|
38
42
|
result = @uddi.add_service_uri(service, uri)
|
@@ -41,6 +45,7 @@ module SoarSr
|
|
41
45
|
}end
|
42
46
|
|
43
47
|
def service_uris(service)_{
|
48
|
+
service = standardize(service)
|
44
49
|
authorize
|
45
50
|
provided?(service, 'service') and registered?(service, 'services')
|
46
51
|
result = @uddi.service_uris(service)
|
@@ -49,6 +54,7 @@ module SoarSr
|
|
49
54
|
}end
|
50
55
|
|
51
56
|
def remove_uri_from_service(service, uri)_{
|
57
|
+
service = standardize(service)
|
52
58
|
authorize
|
53
59
|
provided?(service, 'service') and provided?(uri, 'URI') and uri?(uri) and registered?(service, 'services')
|
54
60
|
result = @uddi.remove_service_uri(service, uri)
|
@@ -57,6 +63,7 @@ module SoarSr
|
|
57
63
|
}end
|
58
64
|
|
59
65
|
def configure_meta_for_service(service, meta)_{
|
66
|
+
service = standardize(service)
|
60
67
|
authorize
|
61
68
|
provided?(service, 'service') and provided?(meta, 'meta') and meta?(meta) and registered?(service, 'services')
|
62
69
|
|
@@ -68,6 +75,7 @@ module SoarSr
|
|
68
75
|
}end
|
69
76
|
|
70
77
|
def meta_for_service(service)
|
78
|
+
service = standardize(service)
|
71
79
|
provided?(service, "service") and registered?(service, 'services')
|
72
80
|
detail = @uddi.get_service(service)['data']
|
73
81
|
if detail['description']
|
@@ -79,6 +87,7 @@ module SoarSr
|
|
79
87
|
end
|
80
88
|
|
81
89
|
def service_by_name(name)_{
|
90
|
+
service = standardize(service)
|
82
91
|
provided?(name, "service")
|
83
92
|
services = search_for_service(name)
|
84
93
|
return extract_service_by_name_from_services_list(services, name) if has_data?(services, 'services')
|
data/lib/soar_sr/version.rb
CHANGED