2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2018 AT&T Intellectual Property. All rights
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
22 package org.onap.ccsdk.sli.plugins.grtoolkit.data;
24 import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.plugins.gr.toolkit.rev180926.cluster.health.output.MembersBuilder;
25 import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.plugins.gr.toolkit.rev180926.member.CommitStatusBuilder;
26 import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.plugins.gr.toolkit.rev180926.member.ReplicasBuilder;
27 import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.plugins.gr.toolkit.rev180926.member.LeaderBuilder;
29 import java.util.ArrayList;
30 import java.util.List;
33 public class MemberBuilder extends MembersBuilder {
34 public MemberBuilder(ClusterActor actor) {
36 this.setAddress(actor.getNode());
37 this.setRole(actor.getMember());
38 this.setVoting(actor.isVoting());
39 this.setUp(actor.isUp());
40 this.setUnreachable(actor.isUnreachable());
41 populateReplicas(actor.getReplicaShards());
42 populateCommits(actor.getCommits());
43 populateLeader(actor.getShardLeader());
46 private void populateLeader(List<String> shardLeader) {
47 LeaderBuilder builder;
48 this.setLeader(new ArrayList<>());
49 for(String leader : shardLeader) {
50 builder = new LeaderBuilder();
51 builder.setShard(leader);
52 this.getLeader().add(builder.build());
56 private void populateCommits(Map<String, Integer> commits) {
57 CommitStatusBuilder builder;
58 this.setCommitStatus(new ArrayList<>());
59 for(Map.Entry<String, Integer> entry : commits.entrySet()) {
60 String key = entry.getKey();
61 Integer value = entry.getValue();
63 builder = new CommitStatusBuilder();
64 builder.setShard(key);
65 builder.setDelta(value);
66 this.getCommitStatus().add(builder.build());
71 private void populateReplicas(List<String> replicaShards) {
72 ReplicasBuilder builder;
73 this.setReplicas(new ArrayList<>());
74 for(String shard : replicaShards) {
75 builder = new ReplicasBuilder();
76 builder.setShard(shard);
77 this.getReplicas().add(builder.build());