aboutsummaryrefslogtreecommitdiffstats
path: root/asdctool/src/main/java/org/openecomp/sdc/asdctool/main/GetConsumersMenu.java
blob: 189348acc625e6cd25c8db5c6651affa941b3d98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package org.openecomp.sdc.asdctool.main;

import fj.data.Either;
import org.openecomp.sdc.asdctool.cli.CLIToolData;
import org.openecomp.sdc.asdctool.cli.SpringCLITool;
import org.openecomp.sdc.asdctool.configuration.GetConsumersConfiguration;
import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
import org.openecomp.sdc.be.model.operations.impl.ConsumerOperation;
import org.openecomp.sdc.be.resources.data.ConsumerData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.List;

public class GetConsumersMenu extends SpringCLITool {

    private static final Logger LOGGER = LoggerFactory.getLogger(GetConsumersMenu.class);

    public static void main(String[] args) {
        GetConsumersMenu getConsumersMenu = new GetConsumersMenu();
        CLIToolData cliToolData = getConsumersMenu.init(args);
        ConsumerOperation consumersService = cliToolData.getSpringApplicationContext().getBean(ConsumerOperation.class);
        printConsumers(getConsumersMenu, consumersService);
    }

    private static void printConsumers(GetConsumersMenu getConsumersMenu, ConsumerOperation consumersService) {
        Either<List<ConsumerData>, StorageOperationStatus> allConsumers = consumersService.getAll();
        allConsumers.left().foreachDoEffect(getConsumersMenu::printConsumers);
        allConsumers.right().foreachDoEffect(getConsumersMenu::printErr);
    }

    private void printConsumers(List<ConsumerData> consumers) {
        System.out.println("SDC consumers: ");
        consumers.forEach(consumer -> {
            System.out.println("#########################");
            System.out.println(consumer);
        });
        System.exit(0);
    }

    private void printErr(StorageOperationStatus err) {
        String errMsg = String.format("failed to fetch consumers. reason: %s", err);
        LOGGER.error(errMsg);
        System.err.print(errMsg);
        System.exit(1);
    }

    @Override
    protected String commandName() {
        return "get-consumers";
    }

    @Override
    protected Class<?> getSpringConfigurationClass() {
        return GetConsumersConfiguration.class;
    }
}