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