Raise JUnit coverage asdctool
[sdc.git] / asdctool / src / main / java / org / openecomp / sdc / asdctool / main / GetConsumersMenu.java
1 package org.openecomp.sdc.asdctool.main;
2
3 import java.util.List;
4
5 import org.openecomp.sdc.asdctool.cli.CLIToolData;
6 import org.openecomp.sdc.asdctool.cli.SpringCLITool;
7 import org.openecomp.sdc.asdctool.configuration.GetConsumersConfiguration;
8 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
9 import org.openecomp.sdc.be.model.operations.impl.ConsumerOperation;
10 import org.openecomp.sdc.be.resources.data.ConsumerData;
11 import org.slf4j.Logger;
12 import org.slf4j.LoggerFactory;
13
14 import fj.data.Either;
15
16 public class GetConsumersMenu extends SpringCLITool {
17
18     private static final Logger LOGGER = LoggerFactory.getLogger(GetConsumersMenu.class);
19
20     public static void main(String[] args) {
21         GetConsumersMenu getConsumersMenu = new GetConsumersMenu();
22         CLIToolData cliToolData = getConsumersMenu.init(args);
23         ConsumerOperation consumersService = cliToolData.getSpringApplicationContext().getBean(ConsumerOperation.class);
24         printConsumers(getConsumersMenu, consumersService);
25     }
26
27     private static void printConsumers(GetConsumersMenu getConsumersMenu, ConsumerOperation consumersService) {
28         Either<List<ConsumerData>, StorageOperationStatus> allConsumers = consumersService.getAll();
29         allConsumers.left().foreachDoEffect(getConsumersMenu::printConsumers);
30         allConsumers.right().foreachDoEffect(getConsumersMenu::printErr);
31     }
32
33     private void printConsumers(List<ConsumerData> consumers) {
34         System.out.println("SDC consumers: ");
35         consumers.forEach(consumer -> {
36             System.out.println("#########################");
37             System.out.println(consumer);
38         });
39         System.exit(0);
40     }
41
42     private void printErr(StorageOperationStatus err) {
43         String errMsg = String.format("failed to fetch consumers. reason: %s", err);
44         LOGGER.error(errMsg);
45         System.err.print(errMsg);
46         System.exit(1);
47     }
48
49     @Override
50     protected String commandName() {
51         return "get-consumers";
52     }
53
54     @Override
55     protected Class<?> getSpringConfigurationClass() {
56         return GetConsumersConfiguration.class;
57     }
58 }