[SDC] Onboarding 1710 rebase.
[sdc.git] / openecomp-be / tools / zusammen-tools / src / main / java / org / openecomp / core / tools / main / ZusammenMainTool.java
1 package org.openecomp.core.tools.main;
2
3 import com.amdocs.zusammen.datatypes.SessionContext;
4 import com.amdocs.zusammen.datatypes.UserInfo;
5 import org.openecomp.core.tools.Commands.ImportCommand;
6 import org.openecomp.core.tools.Commands.ExportDataCommand;
7 import org.openecomp.core.tools.Commands.ResetOldVersion;
8 import org.openecomp.core.tools.util.ToolsUtil;
9 import org.openecomp.sdc.logging.api.Logger;
10 import org.openecomp.sdc.logging.api.LoggerFactory;
11
12 import java.time.Duration;
13 import java.time.Instant;
14
15 import static org.openecomp.core.tools.util.Utils.printMessage;
16
17 public class ZusammenMainTool {
18
19   private static final String GLOBAL_USER = "GLOBAL_USER";
20   private static Logger logger = LoggerFactory.getLogger(ZusammenMainTool.class);
21   private static int status = 0;
22
23   public static void main(String[] args) {
24
25     String command = ToolsUtil.getParam("c",args);
26     if(command == null){
27       printMessage(logger,
28               "parameter -c is mandatory. script usage: zusammenMainTool.sh -c {command name} " +
29                       "[additional arguments depending on the command] ");
30       System.exit(-1);
31     }
32     Instant startTime = Instant.now();
33
34     SessionContext context = new SessionContext();
35     context.setUser(new UserInfo(GLOBAL_USER));
36     context.setTenant("dox");
37
38
39     switch (COMMANDS.valueOf(command)){
40       case RESET_OLD_VERSION:
41         ResetOldVersion.reset(context,ToolsUtil.getParam("v",args),ToolsUtil.getParam("n",args));
42         break;
43       case EXPORT:
44         ExportDataCommand.exportData(context,ToolsUtil.getParam("i",args));
45         break;
46       case IMPORT:
47         ImportCommand.importData(context, ToolsUtil.getParam("f",args),ToolsUtil.getParam("i",args));
48         break;
49
50     }
51
52     Instant stopTime = Instant.now();
53     Duration duration = Duration.between(startTime, stopTime);
54     long minutesPart = duration.toMinutes();
55     long secondsPart = duration.minusMinutes(minutesPart).getSeconds();
56
57
58     printMessage(logger,
59             "Zusammen tools command:[] finished . Total run time was : " + minutesPart + ":" +
60                     secondsPart
61                     + " minutes");
62     System.exit(status);
63
64   }
65
66   private enum COMMANDS{
67
68
69     RESET_OLD_VERSION("reset-old-version"),
70     EXPORT("export"),
71     IMPORT("import");
72
73     COMMANDS(String command) {
74       this.command  = command;
75     }
76
77     private String command;
78   }
79
80 }