diff options
author | Yuuta Liang <yuutaw@student.cs.ubc.ca> | 2023-11-28 18:19:39 -0800 |
---|---|---|
committer | Yuuta Liang <yuutaw@student.cs.ubc.ca> | 2023-11-28 18:19:39 -0800 |
commit | 1073af21305360bd33903c533cdac57e9f936294 (patch) | |
tree | 2c2d9c343ffe2577286fb53e016f06f6cdc53cbf /src/main/ui/TemplatesScreen.java | |
parent | e13adbb9a9146dd5ece890449e3cad958a502f86 (diff) | |
download | jca-1073af21305360bd33903c533cdac57e9f936294.tar jca-1073af21305360bd33903c533cdac57e9f936294.tar.gz jca-1073af21305360bd33903c533cdac57e9f936294.tar.bz2 jca-1073af21305360bd33903c533cdac57e9f936294.zip |
Move TUI and GUI into separate packages
Signed-off-by: Yuuta Liang <yuutaw@student.cs.ubc.ca>
Diffstat (limited to 'src/main/ui/TemplatesScreen.java')
-rw-r--r-- | src/main/ui/TemplatesScreen.java | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/src/main/ui/TemplatesScreen.java b/src/main/ui/TemplatesScreen.java deleted file mode 100644 index e622709..0000000 --- a/src/main/ui/TemplatesScreen.java +++ /dev/null @@ -1,138 +0,0 @@ -package ui; - -import model.ca.Template; -import model.x501.Name; - -/** - * The screen that allows users to list templates and manage them. - */ -public class TemplatesScreen implements UIHandler { - private final JCA session; - - /** - * EFFECTS: Init with the session. - */ - public TemplatesScreen(JCA session) { - this.session = session; - } - - /** - * EFFECTS: Print help. - */ - @Override - public void help() { - System.out.println("show\tList templates\n" - + "add\tCreate a new template\n" - + "enable\tEnable a template\n" - + "disable\tDisable a template\n" - + "delete\tDelete a template\n" - + "exit\tGo to main menu\n" - + "help\tPrint this message"); - } - - /** - * EFFECTS: List templates in Name[ENABLED / DISABLED] Subject Validity format. - */ - @Override - public void show() { - session.getCa().getTemplates().forEach(tem -> - System.out.printf("%s[%s]\t%s\t%d Days\n", - tem.getName(), - tem.isEnabled() ? "ENABLED" : "DISABLED", - tem.getSubject(), - tem.getValidity())); - } - - /** - * EFFECTS: Create a new template with the given name and switch to the template set screen. - */ - private void handleAdd(String... args) { - if (args.length <= 1) { - System.out.println("Usage: add <name>"); - return; - } - if (session.getCa().findTemplate(args[1], false) != null) { - System.out.println("The template already exists."); - return; - } - - session.setScreen(Screen.TEMPLATE_SET, - new Template(args[1], false, (Name) null, 30)); - } - - /** - * EFFECTS: Handle the enable / disable commands. - * MODIFIES: session - */ - private void handleEnableDisable(boolean enable, String... args) { - if (args.length <= 1) { - System.out.printf("Usage: %s <template>\n", enable ? "enable" : "disable"); - return; - } - Template tmp = session.getCa().findTemplate(args[1], false); - if (tmp == null) { - System.out.println("Cannot find the template specified"); - return; - } - session.getCa().setTemplateEnable(tmp, enable); - session.setUnsaved(true); - } - - /** - * EFFECTS: Handle the delete command - * MODIFIES: session - */ - private void handleDelete(String... args) { - if (args.length <= 1) { - System.out.println("Usage: delete <template>"); - return; - } - Template tmp = session.getCa().findTemplate(args[1], true); - if (tmp == null) { - System.out.println("Cannot find the template specified"); - return; - } - session.getCa().removeTemplate(tmp); - session.setUnsaved(true); - } - - /** - * EFFECTS: Handle commands. - */ - @Override - public void command(String... args) { - switch (args[0]) { - case "add": - handleAdd(args); - break; - case "enable": - handleEnableDisable(true, args); - break; - case "disable": - handleEnableDisable(false, args); - break; - case "delete": - handleDelete(args); - break; - default: - help(); - break; - } - } - - /** - * EFFECTS: Go to main menu. - */ - @Override - public Screen exit() { - return Screen.MAIN; - } - - /** - * EFFECTS: Return "/templates/ %" - */ - @Override - public String getPS1() { - return "/templates/ %"; - } -} |