- for (String policyId : ricPolicies) {
- if (!policies.containsPolicy(policyId)) {
- return startRecovery(ric);
+ }
+
+ private Mono<RicData> checkRicPolicies(RicData ric) {
+ return ric.a1Client.getPolicyIdentities() //
+ .flatMap(ricP -> validateInstances(ricP, ric));
+ }
+
+ private Mono<RicData> validateInstances(Collection<String> ricPolicies, RicData ric) {
+ synchronized (this.policies) {
+ if (ricPolicies.size() != policies.getForRic(ric.ric.name()).size()) {
+ return startSynchronization(ric);
+ }
+
+ for (String policyId : ricPolicies) {
+ if (!policies.containsPolicy(policyId)) {
+ return startSynchronization(ric);
+ }