aboutsummaryrefslogtreecommitdiff
path: root/src/main/ui/TemplatesScreen.java
diff options
context:
space:
mode:
authorYuuta Liang <yuutaw@student.cs.ubc.ca>2023-11-28 18:19:39 -0800
committerYuuta Liang <yuutaw@student.cs.ubc.ca>2023-11-28 18:19:39 -0800
commit1073af21305360bd33903c533cdac57e9f936294 (patch)
tree2c2d9c343ffe2577286fb53e016f06f6cdc53cbf /src/main/ui/TemplatesScreen.java
parente13adbb9a9146dd5ece890449e3cad958a502f86 (diff)
downloadjca-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.java138
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/ %";
- }
-}