soar_sr 0.1.8 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- 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