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.data;
24 import java.util.ArrayList;
25 import java.util.HashMap;
27 public class ClusterActor {
29 private String member;
31 private String akkaPort;
32 private boolean voting;
34 private boolean unreachable;
35 private ArrayList<String> shardLeader;
36 private ArrayList<String> replicaShards;
37 private ArrayList<String> nonReplicaShards;
38 private HashMap<String, Integer> commits;
40 public static final String SITE_1 = "Site 1";
41 public static final String SITE_2 = "Site 2";
43 public ClusterActor() {
50 shardLeader = new ArrayList<>();
51 replicaShards = new ArrayList<>();
52 nonReplicaShards = new ArrayList<>();
53 commits = new HashMap<>();
56 public String getNode() {
60 public void setNode(String node) {
64 public String getMember() {
68 public void setMember(String member) {
72 public String getSite() {
76 public void setSite(String site) {
80 public String getAkkaPort() {
84 public void setAkkaPort(String akkaPort) {
85 this.akkaPort = akkaPort;
88 public boolean isVoting() {
92 public void setVoting(boolean voting) {
96 public boolean isUp() {
100 public void setUp(boolean up) {
104 public boolean isUnreachable() {
108 public void setUnreachable(boolean unreachable) {
109 this.unreachable = unreachable;
112 public ArrayList<String> getShardLeader() {
116 public void setShardLeader(ArrayList<String> shardLeader) {
117 this.shardLeader = shardLeader;
120 public ArrayList<String> getReplicaShards() {
121 return replicaShards;
124 public void setReplicaShards(ArrayList<String> replicaShards) {
125 this.replicaShards = replicaShards;
128 public ArrayList<String> getNonReplicaShards() {
129 return nonReplicaShards;
132 public void setNonReplicaShards(ArrayList<String> nonReplicaShards) {
133 this.nonReplicaShards = nonReplicaShards;
136 public HashMap<String, Integer> getCommits() {
140 public void setCommits(HashMap<String, Integer> commits) {
141 this.commits = commits;
144 public void flush() {
146 replicaShards.clear();
147 nonReplicaShards.clear();
152 public String toString() {
153 StringBuilder builder = new StringBuilder();
154 builder.append("[ ");
155 builder.append(this.member);
156 builder.append(" ] ");
158 builder.append(this.node);
160 builder.append(this.akkaPort);
161 builder.append(" is");
163 builder.append(" Up");
165 builder.append(" Down");
167 builder.append(" [ UNREACHABLE ]");
170 builder.append(" (Voting)");
172 builder.append("\n");
174 for(String l : this.shardLeader) {
175 builder.append("\tLeader: ");
177 builder.append("\n");
180 for(String r : this.replicaShards) {
181 builder.append("\tReplicating: ");
183 builder.append("\n");
186 for(String n : this.nonReplicaShards) {
187 builder.append("\tNot replicating: ");
189 builder.append("\n");
192 for(String key : commits.keySet()) {
193 int value = commits.get(key);
195 builder.append("\t");
196 builder.append(value);
197 builder.append(" commits ahead of ");
199 builder.append("\n");
202 builder.append("\t");
203 builder.append(value);
204 builder.append(" commits behind ");
206 builder.append("\n");
210 return builder.toString();