[DMAAP-CLIENT] First sonar issues review part2
[dmaap/messagerouter/dmaapclient.git] / src / main / java / org / onap / dmaap / mr / tools / ClusterCommand.java
1 /*******************************************************************************
2  *  ============LICENSE_START=======================================================
3  *  org.onap.dmaap
4  *  ================================================================================
5  *  Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  *  ================================================================================
7  *  Modifications Copyright © 2021 Orange.
8  *  ================================================================================
9  *  Licensed under the Apache License, Version 2.0 (the "License");
10  *  you may not use this file except in compliance with the License.
11  *  You may obtain a copy of the License at
12  *        http://www.apache.org/licenses/LICENSE-2.0
13  *
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=========================================================
20  *
21  *  ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  *
23  *******************************************************************************/
24
25 package org.onap.dmaap.mr.tools;
26
27 import com.att.nsa.cmdtool.Command;
28 import com.att.nsa.cmdtool.CommandNotReadyException;
29 import java.io.PrintStream;
30 import org.onap.dmaap.mr.client.impl.MRConsumerImpl;
31
32 public class ClusterCommand implements Command<MRCommandContext> {
33
34     @Override
35     public String[] getMatches() {
36         return new String[] {
37             "cluster",
38             "cluster (\\S*)?",
39         };
40     }
41
42     @Override
43     public void checkReady(MRCommandContext context) throws CommandNotReadyException {
44     }
45
46     @Override
47     public void execute(String[] parts, MRCommandContext context, PrintStream out) throws CommandNotReadyException {
48         if (parts.length == 0) {
49             for (String host : context.getCluster()) {
50                 out.println(host);
51             }
52         } else {
53             context.clearCluster();
54             for (String part : parts) {
55                 String[] hosts = part.trim().split("\\s+");
56                 for (String host : hosts) {
57                     for (String splitHost : MRConsumerImpl.stringToList(host)) {
58                         context.addClusterHost(splitHost);
59                     }
60                 }
61             }
62         }
63     }
64
65     @Override
66     public void displayHelp(PrintStream out) {
67         out.println("cluster host1 host2 ...");
68     }
69
70 }