re base code
[sdc.git] / asdctool / src / main / java / org / openecomp / sdc / asdctool / main / VrfObjectFixMenu.java
1 package org.openecomp.sdc.asdctool.main;
2
3 import org.openecomp.sdc.asdctool.configuration.VrfObjectFixConfiguration;
4 import org.openecomp.sdc.asdctool.impl.VrfObjectFixHandler;
5 import org.openecomp.sdc.be.config.ConfigurationManager;
6 import org.openecomp.sdc.common.api.ConfigurationSource;
7 import org.openecomp.sdc.common.impl.ExternalConfiguration;
8 import org.openecomp.sdc.common.impl.FSConfigurationSource;
9 import org.openecomp.sdc.common.log.wrappers.Logger;
10 import org.springframework.context.annotation.AnnotationConfigApplicationContext;
11
12 import java.util.Arrays;
13
14 public class VrfObjectFixMenu {
15
16     private static final Logger log = Logger.getLogger(VrfObjectFixMenu.class);
17
18     private VrfObjectFixMenu(){}
19
20     public static void main(String[] args) {
21         if (isNotValidArguments(args)) {
22             log.debug("#main - The invalid array of the arguments have been received: {}", Arrays.toString(args));
23             log.debug("#main - Usage: <configuration dir> <'detect'/'fix'> <output folder path>");
24             System.exit(1);
25         }
26         initConfig(args[0]);
27         VrfObjectFixHandler vrfObjectFixHandler = getVrfObjectFixHandler();
28         if (vrfObjectFixHandler.handle(args[1], args.length == 3 ? args[2] : null)) {
29             log.info("#main - The {} operation of the corrupted VRFObject Node Types has been finished successfully", args[1]);
30         } else{
31             log.info("#main - The {} operation of the corrupted VRFObject Node Types has been failed", args[1]);
32             System.exit(2);
33         }
34         System.exit(0);
35     }
36
37     private static VrfObjectFixHandler getVrfObjectFixHandler() {
38         AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(VrfObjectFixConfiguration.class);
39         return context.getBean(VrfObjectFixHandler.class);
40     }
41
42     private static boolean isNotValidArguments(String[] args) {
43         return args == null || args.length < 2;
44     }
45
46
47     private static void initConfig(String configDir) {
48         ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), configDir);
49         new ConfigurationManager(configurationSource);
50     }
51
52 }