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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| public class Cmd {
public Cmd(String str) {
interpret(format(str));
}
private FormatedCmd format(String str) {
String cmdName = null;
Map<String, String> cmdOpts = new HashMap<String, String>();
String[] cmd = str.split(" ");
for(int i = 0; i < cmd.length; ++i) {
if(i == 0) {
cmdName = cmd[i];
} else {
if(Character.valueOf(cmd[i].charAt(0)).equals('-')) {
if(i + 1 < cmd.length && !Character.valueOf(cmd[i+1].charAt(0)).equals('-')) {
cmdOpts.put(cmd[i], cmd[i+1]);
} else {
cmdOpts.put(cmd[i], null);
}
}
}
}
return new FormatedCmd(cmdName, cmdOpts);
}
private void interpret(FormatedCmd cmd) {
if(cmd.getCmdName().equals("server")) {
cmdServer(cmd.getOpts());
} else if(cmd.getCmdName().equals("help")) {
cmdHelp();
} else if(cmd.getCmdName().equals("user")) {
cmdUser(cmd.getOpts());
} else if(cmd.getCmdName().equals("db")) {
cmdDB(cmd.getOpts());
}
}
private void cmdDB(Map<String, String> opts) {
if(opts.containsKey("-save")) {
DB.getInstance().save();
}
else if(opts.containsKey("-load")) {
DB.getInstance().load();
}
}
private void cmdUser(Map<String, String> opts) {
String tmp;
if(opts.containsKey("-add")) {
tmp = opts.get("-add");
if (tmp == null) { System.out.println("manque les valeurs"); }
else {
User newUser = new User(tmp);
DB.getInstance().getUsers().put(newUser.getLogin(), newUser);
}
}
if(opts.containsKey("-list")) {
DB.getInstance().userList();
}
}
private void cmdServer(Map<String, String> opts) {
String tmp;
if(opts.containsKey("-port")) {
tmp = opts.get("-port");
if (tmp == null) { System.out.println("paramètre p merdique"); }
else { Cfg.getCfg().setPort(Integer.parseInt(tmp)); }
}
if(opts.containsKey("-save")) {
Cfg.getCfg().save();
}
if(opts.containsKey("-show")) {
System.out.println(Cfg.getCfg());
}
if(opts.containsKey("-load")) {
Cfg.getCfg().load();
}
if(opts.containsKey("-start")) {
Listen.getListen().start();
}
if(opts.containsKey("-stop")) {
//mtsListen.getListen().close();
}
}
private void cmdHelp() {
System.out.println("<<< Help >>>");
System.out.println("server : configuration du serveur");
System.out.println(" -p : port");
System.out.println(" -a : arret");
System.out.println(" -d : demarrage");
}
} |
Partager