diff --git a/AY2324S1-CS2113-T17-3_tp_master/authorship.json b/AY2324S1-CS2113-T17-3_tp_master/authorship.json index 4e87266..8c5452d 100644 --- a/AY2324S1-CS2113-T17-3_tp_master/authorship.json +++ b/AY2324S1-CS2113-T17-3_tp_master/authorship.json @@ -1 +1 @@ -[{"path":"build.gradle","fileType":"other","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"plugins {","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":" id \u0027java\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":" id \u0027application\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":" id \u0027checkstyle\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2022-06-17"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":14,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"martinschnder"},"content":" mainClass.set(\"seedu.stocker.Stocker\")","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"martinschnder"},"content":" archiveBaseName.set(\"stocker\")","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"-"},"content":" archiveClassifier.set(\"\")","lastModifiedDate":"2023-09-24"},{"lineNumber":38,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":"checkstyle {","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":" toolVersion \u003d \u002710.2\u0027","lastModifiedDate":"2022-04-29"},{"lineNumber":42,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":43,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":44,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":45,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":46,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"martinschnder":2,"-":44}},{"path":"docs/AboutUs.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# About us","lastModifiedDate":"2020-05-24"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"| Display | Name | Github Profile | Portfolio |","lastModifiedDate":"2023-10-05"},{"lineNumber":4,"author":{"gitId":"azfarulmatin"},"content":"|-----------------------------|:----------------:|:------------------------------------------:|:--------------------------------:|","lastModifiedDate":"2023-10-07"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"| ![](team/Martin.jpeg) | Martin Schneider | [Github](https://github.com/martinschnder) | [Portfolio](docs/team/Martin.md) |","lastModifiedDate":"2023-10-07"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"| ![](team/Karishma.png) | Karishma | [Github](https://github.com/karishma-t) | [Portfolio](team/karishma.md) |","lastModifiedDate":"2023-10-06"},{"lineNumber":7,"author":{"gitId":"karishma-t"},"content":"| ![](team/Barbara_image.JPG) | Barbara Chong | [Github](https://github.com/barbaracwx) | [Portfolio](team/Barbara.md) |","lastModifiedDate":"2023-10-05"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":"| ![](team/HaoZhi.png) | Teo Hao Zhi | [Github](https://github.com/TeoHaoZhi) | [Portfolio](team/HaoZhi.md) |","lastModifiedDate":"2023-10-06"},{"lineNumber":9,"author":{"gitId":"azfarulmatin"},"content":"| ![](team/Azfarul.JPG) | Azfarul Matin | [Github](https://github.com/azfarulmatin) | [Portfolio](team/Azfarul.md) |","lastModifiedDate":"2023-10-07"},{"lineNumber":10,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":11,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-06"}],"authorContributionMap":{"karishma-t":1,"martinschnder":1,"azfarulmatin":2,"TeoHaoZhi":5,"-":2}},{"path":"docs/team/Azfarul.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"azfarulmatin"},"content":"# Azfarul Matin - Project Portfolio Page","lastModifiedDate":"2023-10-07"},{"lineNumber":2,"author":{"gitId":"azfarulmatin"},"content":"","lastModifiedDate":"2023-10-07"},{"lineNumber":3,"author":{"gitId":"azfarulmatin"},"content":"## Overview","lastModifiedDate":"2023-10-07"},{"lineNumber":4,"author":{"gitId":"azfarulmatin"},"content":"","lastModifiedDate":"2023-10-07"},{"lineNumber":5,"author":{"gitId":"azfarulmatin"},"content":"","lastModifiedDate":"2023-10-07"},{"lineNumber":6,"author":{"gitId":"azfarulmatin"},"content":"### Summary of Contributions","lastModifiedDate":"2023-10-07"}],"authorContributionMap":{"azfarulmatin":6}},{"path":"docs/team/Barbara.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"Barbaracwx"},"content":"# Barbara Chong - Project Portfolio Page","lastModifiedDate":"2023-10-05"},{"lineNumber":2,"author":{"gitId":"Barbaracwx"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":3,"author":{"gitId":"Barbaracwx"},"content":"## Overview","lastModifiedDate":"2023-10-05"},{"lineNumber":4,"author":{"gitId":"Barbaracwx"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":5,"author":{"gitId":"Barbaracwx"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":6,"author":{"gitId":"Barbaracwx"},"content":"### Summary of Contributions","lastModifiedDate":"2023-10-05"}],"authorContributionMap":{"Barbaracwx":6}},{"path":"docs/team/HaoZhi.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"# Hao Zhi - Project Portfolio Page","lastModifiedDate":"2023-10-05"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"## Overview","lastModifiedDate":"2023-10-05"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"### Summary of Contributions","lastModifiedDate":"2023-10-05"}],"authorContributionMap":{"TeoHaoZhi":6}},{"path":"docs/team/Karishma.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"karishma-t"},"content":"# Karishma - Project Portfolio Page","lastModifiedDate":"2023-10-05"},{"lineNumber":2,"author":{"gitId":"karishma-t"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":3,"author":{"gitId":"karishma-t"},"content":"## Overview","lastModifiedDate":"2023-10-05"},{"lineNumber":4,"author":{"gitId":"karishma-t"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":5,"author":{"gitId":"karishma-t"},"content":"### Summary of Contributions","lastModifiedDate":"2023-10-05"}],"authorContributionMap":{"karishma-t":5}},{"path":"docs/team/Martin.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"# Martin Schneider - Project Portfolio Page","lastModifiedDate":"2023-10-07"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-07"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"## Overview","lastModifiedDate":"2023-10-07"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-07"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"### Summary of Contributions","lastModifiedDate":"2023-10-07"}],"authorContributionMap":{"martinschnder":5}},{"path":"src/main/java/seedu/stocker/Stocker.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker;","lastModifiedDate":"2023-10-08"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.ui.Ui;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.parser.Parser;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.Command;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.CommandResult;","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.ExitCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.drugs.Inventory;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":10,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":12,"author":{"gitId":"TeoHaoZhi"},"content":"public class Stocker {","lastModifiedDate":"2023-10-08"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" private Ui ui;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" private Inventory inventory;","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" public static void main(String[] launchArgs) {","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":" new Stocker().run();","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" /** Runs the program until termination. */","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":" public void run() {","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"martinschnder"},"content":" start();","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"martinschnder"},"content":" runCommandLoopUntilExitCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"martinschnder"},"content":" exit();","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"martinschnder"},"content":" * Sets up the required objects, and prints the welcome message.","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"martinschnder"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"martinschnder"},"content":" private void start() {","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"martinschnder"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"martinschnder"},"content":" this.inventory \u003d new Inventory();","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"martinschnder"},"content":" ui.showWelcomeMessage();","lastModifiedDate":"2023-10-09"},{"lineNumber":36,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":38,"author":{"gitId":"martinschnder"},"content":" /** Prints the Goodbye message and exits. */","lastModifiedDate":"2023-10-09"},{"lineNumber":39,"author":{"gitId":"martinschnder"},"content":" private void exit() {","lastModifiedDate":"2023-10-09"},{"lineNumber":40,"author":{"gitId":"martinschnder"},"content":" ui.showGoodbyeMessage();","lastModifiedDate":"2023-10-09"},{"lineNumber":41,"author":{"gitId":"martinschnder"},"content":" System.exit(0);","lastModifiedDate":"2023-10-09"},{"lineNumber":42,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":43,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":44,"author":{"gitId":"martinschnder"},"content":" /** Reads the user command and executes it, until the user issues the exit command. */","lastModifiedDate":"2023-10-09"},{"lineNumber":45,"author":{"gitId":"martinschnder"},"content":" private void runCommandLoopUntilExitCommand() {","lastModifiedDate":"2023-10-09"},{"lineNumber":46,"author":{"gitId":"martinschnder"},"content":" Command command;","lastModifiedDate":"2023-10-09"},{"lineNumber":47,"author":{"gitId":"martinschnder"},"content":" do {","lastModifiedDate":"2023-10-09"},{"lineNumber":48,"author":{"gitId":"martinschnder"},"content":" String userCommandText \u003d ui.getUserCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":49,"author":{"gitId":"martinschnder"},"content":" command \u003d new Parser().parseCommand(userCommandText);","lastModifiedDate":"2023-10-09"},{"lineNumber":50,"author":{"gitId":"martinschnder"},"content":" CommandResult result \u003d executeCommand(command);","lastModifiedDate":"2023-10-09"},{"lineNumber":51,"author":{"gitId":"martinschnder"},"content":" ui.showResultToUser(result);","lastModifiedDate":"2023-10-09"},{"lineNumber":52,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":53,"author":{"gitId":"martinschnder"},"content":" } while (!ExitCommand.isExit(command));","lastModifiedDate":"2023-10-09"},{"lineNumber":54,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":55,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":56,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":57,"author":{"gitId":"-"},"content":" /**","lastModifiedDate":"2020-05-24"},{"lineNumber":58,"author":{"gitId":"martinschnder"},"content":" * Executes the command and returns the result.","lastModifiedDate":"2023-10-09"},{"lineNumber":59,"author":{"gitId":"martinschnder"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":60,"author":{"gitId":"martinschnder"},"content":" * @param command user command","lastModifiedDate":"2023-10-09"},{"lineNumber":61,"author":{"gitId":"martinschnder"},"content":" * @return result of the command","lastModifiedDate":"2023-10-09"},{"lineNumber":62,"author":{"gitId":"-"},"content":" */","lastModifiedDate":"2020-05-24"},{"lineNumber":63,"author":{"gitId":"martinschnder"},"content":" private CommandResult executeCommand(Command command) {","lastModifiedDate":"2023-10-09"},{"lineNumber":64,"author":{"gitId":"martinschnder"},"content":" command.setData(inventory);","lastModifiedDate":"2023-10-09"},{"lineNumber":65,"author":{"gitId":"martinschnder"},"content":" CommandResult result \u003d command.execute();","lastModifiedDate":"2023-10-09"},{"lineNumber":66,"author":{"gitId":"martinschnder"},"content":" return result;","lastModifiedDate":"2023-10-09"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":68,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"martinschnder":58,"TeoHaoZhi":4,"-":6}},{"path":"src/main/java/seedu/stocker/commands/AddCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.drugs.Drug;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":" * Adds a drug into the inventory","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"public class AddCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" public static final String COMMAND_WORD \u003d \"add\";","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_USAGE \u003d COMMAND_WORD + \": Adds a new drug to the drug list. \"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":" + \"Parameters: NAME, EXPIRY DATE, QUANTITY, \\n\"","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" + \"Example: \" + COMMAND_WORD","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" + \" /n Doliprane /d 12/06/2035 /q 52\";","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_SUCCESS \u003d \"New drug added in the inventory: %1$s\";","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" private final Drug toAdd;","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" public AddCommand(String name, String expiryDate, Long quantity) {","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":" this.toAdd \u003d new Drug(name, expiryDate, quantity);","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"martinschnder"},"content":" public Drug getDrug() {","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"martinschnder"},"content":" return this.toAdd;","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"martinschnder"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"martinschnder"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"martinschnder"},"content":" inventory.addDrug(toAdd);","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"TeoHaoZhi"},"content":" return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd.name));","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":33,"TeoHaoZhi":1}},{"path":"src/main/java/seedu/stocker/commands/Command.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.drugs.Inventory;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"public abstract class Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":" protected Inventory inventory;","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":" protected Command() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":" public void setData(Inventory inventory) {","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" this.inventory \u003d inventory;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":" * Executes the command and returns the result.","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":" public abstract CommandResult execute();","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":22}},{"path":"src/main/java/seedu/stocker/commands/CommandResult.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"import java.util.List;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.drugs.Drug;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"import java.util.Optional;","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":" * Represents the result of a command execution.","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":"public class CommandResult {","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":" /** The feedback message to be shown to the user. Contains a description of the execution result */","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" public final String feedbackToUser;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":" /** The list of drugs that was produced by the command */","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" private final List\u003cDrug\u003e relevantDrugs;","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" public CommandResult(String feedbackToUser) {","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":" this.feedbackToUser \u003d feedbackToUser;","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" relevantDrugs \u003d null;","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"martinschnder"},"content":" public CommandResult(String feedbackToUser, List\u003cDrug\u003e relevantDrugs) {","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"martinschnder"},"content":" this.feedbackToUser \u003d feedbackToUser;","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"martinschnder"},"content":" this.relevantDrugs \u003d relevantDrugs;","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"martinschnder"},"content":" * Returns a list of drugs that was produced by the command, if any.","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"martinschnder"},"content":" public Optional\u003cList\u003cDrug\u003e\u003e getRelevantDrugs() {","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"martinschnder"},"content":" return Optional.ofNullable(relevantDrugs);","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":36,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":36}},{"path":"src/main/java/seedu/stocker/commands/DeleteCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"public class DeleteCommand extends Command{","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String COMMAND_WORD \u003d \"delete\";","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String MESSAGE_USAGE \u003d COMMAND_WORD + \": Removes a drug from drug list. \"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":" + \"Parameters: Name \\n\"","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"TeoHaoZhi"},"content":" + \"Example: \" + COMMAND_WORD","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"TeoHaoZhi"},"content":" + \" \u003cDrug Name\u003e\";","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String MESSAGE_SUCCESS \u003d \"Drug removed from inventory: %1$s\";","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"TeoHaoZhi"},"content":" //Edit functions below to give delete functionality","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"TeoHaoZhi"},"content":" // public AddCommand(String name, String expiryDate, Long quantity) {","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"TeoHaoZhi"},"content":" // this.toAdd \u003d new Drug(name, expiryDate, quantity);","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"TeoHaoZhi"},"content":" // }","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"TeoHaoZhi"},"content":" // public Drug getDrug() {","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"TeoHaoZhi"},"content":" // return this.toAdd;","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"TeoHaoZhi"},"content":" // }","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"TeoHaoZhi"},"content":" //edit function to replace placeholder","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"TeoHaoZhi"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"TeoHaoZhi"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"TeoHaoZhi"},"content":" return new CommandResult(String.format(MESSAGE_SUCCESS, inventory.allDrugs));","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"TeoHaoZhi":32}},{"path":"src/main/java/seedu/stocker/commands/ExitCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":" * Terminates the program.","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"public class ExitCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":" public static final String COMMAND_WORD \u003d \"bye\";","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_USAGE \u003d COMMAND_WORD + \": Exits the program.\\n\"","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":" + \"Example: \" + COMMAND_WORD;","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_EXIT_ACKNOWEDGEMENT \u003d \"Exiting Stocker as requested ...\";","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":" return new CommandResult(MESSAGE_EXIT_ACKNOWEDGEMENT);","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" public static boolean isExit(Command command) {","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":" return command instanceof ExitCommand; // instanceof returns false if it is null","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":22}},{"path":"src/main/java/seedu/stocker/commands/FindCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"public class FindCommand extends Command{","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String COMMAND_WORD \u003d \"find\";","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String MESSAGE_USAGE \u003d COMMAND_WORD + \": Finds drug in inventory \\n\"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":" + \"Example: \" + COMMAND_WORD + \" panadol\";","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"TeoHaoZhi"},"content":" //edit function to give find functionality","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"TeoHaoZhi"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"TeoHaoZhi"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"TeoHaoZhi"},"content":" return new CommandResult(","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"TeoHaoZhi"},"content":" AddCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + HelpCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + ListCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + ExitCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"TeoHaoZhi"},"content":" );","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"TeoHaoZhi":20}},{"path":"src/main/java/seedu/stocker/commands/HelpCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":" * Shows help instructions.","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"public class HelpCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":" public static final String COMMAND_WORD \u003d \"help\";","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_USAGE \u003d COMMAND_WORD + \": Shows program usage instructions. \\n\"","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":" + \"Example: \" + COMMAND_WORD;","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" return new CommandResult(","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":" AddCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + DeleteCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":" + \"\\n\" + HelpCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + ListCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + FindCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" + \"\\n\" + ExitCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":" );","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":21,"TeoHaoZhi":3}},{"path":"src/main/java/seedu/stocker/commands/IncorrectCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":" * Represents an incorrect command. Upon execution, produces some feedback to the user.","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"public class IncorrectCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":" public final String feedbackToUser;","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":" public IncorrectCommand(String feedbackToUser) {","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":" this.feedbackToUser \u003d feedbackToUser;","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" return new CommandResult(feedbackToUser);","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":20}},{"path":"src/main/java/seedu/stocker/commands/ListCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"public class ListCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String COMMAND_WORD \u003d \"list\";","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String MESSAGE_USAGE \u003d COMMAND_WORD + \": Shows program usage instructions. \\n\"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":" + \"Example: \" + COMMAND_WORD;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"TeoHaoZhi"},"content":" //Edit this func to fill in implementation of list","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"TeoHaoZhi"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"TeoHaoZhi"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"TeoHaoZhi"},"content":" return new CommandResult(","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"TeoHaoZhi"},"content":" AddCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + HelpCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + ListCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + ExitCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"TeoHaoZhi"},"content":" );","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"TeoHaoZhi":24}},{"path":"src/main/java/seedu/stocker/common/Messages.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.common;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":" * Container for user visible messages.","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"public class Messages {","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_WELCOME \u003d \"Welcome to your Stocker!\";","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_GOODBYE \u003d \"Good bye!\";","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_INVALID_COMMAND_FORMAT \u003d \"Invalid command format! \\n%1$s\";","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":11}},{"path":"src/main/java/seedu/stocker/drugs/Drug.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker.drugs;","lastModifiedDate":"2023-10-08"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"public class Drug {","lastModifiedDate":"2023-10-08"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":" public String name;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":" String expiryDate;","lastModifiedDate":"2023-10-08"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":" Long quantity;","lastModifiedDate":"2023-10-08"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":" public Drug(String name, String expiryDate, Long quantity) {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" this.name \u003d name;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":" this.expiryDate \u003d expiryDate;","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":" this.quantity \u003d quantity;","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":14,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":16,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-08"}],"authorContributionMap":{"martinschnder":4,"TeoHaoZhi":12}},{"path":"src/main/java/seedu/stocker/drugs/Inventory.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.drugs;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"public class Inventory {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":" public ArrayList\u003cDrug\u003e allDrugs;","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":" public Inventory() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" this.allDrugs \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":" public void addDrug(Drug drug) {","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" this.allDrugs.add(drug);","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":16}},{"path":"src/main/java/seedu/stocker/exceptions/StockerException.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker.exceptions;","lastModifiedDate":"2023-10-08"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"public class StockerException extends Exception{","lastModifiedDate":"2023-10-08"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-08"}],"authorContributionMap":{"TeoHaoZhi":4}},{"path":"src/main/java/seedu/stocker/parser/Parser.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.parser;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"import java.util.regex.Matcher;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"import java.util.regex.Pattern;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.Command;","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.AddCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.ExitCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.HelpCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.IncorrectCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":"import static seedu.stocker.common.Messages.MESSAGE_INVALID_COMMAND_FORMAT;","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":"public class Parser {","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" * Parses user input into command for execution.","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" * @param userInput full user input string","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":" * @return the command based on the user input","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":" public Command parseCommand(String userInput) {","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"martinschnder"},"content":" String[] words \u003d userInput.trim().split(\" \", 2); // split the input into command and arguments","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"martinschnder"},"content":" if (words.length \u003d\u003d 0) {","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"martinschnder"},"content":" return new IncorrectCommand(String.format(MESSAGE_INVALID_COMMAND_FORMAT, HelpCommand.MESSAGE_USAGE));","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"martinschnder"},"content":" final String commandWord \u003d words[0];","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"martinschnder"},"content":" final String arguments \u003d userInput.replaceFirst(commandWord, \"\").trim();","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"martinschnder"},"content":" switch (commandWord) {","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"martinschnder"},"content":" case AddCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"martinschnder"},"content":" return prepareAddCommand(arguments);","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":36,"author":{"gitId":"martinschnder"},"content":" case ExitCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"martinschnder"},"content":" return new ExitCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":38,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":39,"author":{"gitId":"martinschnder"},"content":" case HelpCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":40,"author":{"gitId":"martinschnder"},"content":" return new HelpCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":41,"author":{"gitId":"martinschnder"},"content":" default:","lastModifiedDate":"2023-10-09"},{"lineNumber":42,"author":{"gitId":"martinschnder"},"content":" return new IncorrectCommand(String.format(MESSAGE_INVALID_COMMAND_FORMAT, HelpCommand.MESSAGE_USAGE));","lastModifiedDate":"2023-10-09"},{"lineNumber":43,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":44,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":45,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":46,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":47,"author":{"gitId":"martinschnder"},"content":" * Parses arguments in the context of the add drug command.","lastModifiedDate":"2023-10-09"},{"lineNumber":48,"author":{"gitId":"martinschnder"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":49,"author":{"gitId":"martinschnder"},"content":" * @param args full command args string","lastModifiedDate":"2023-10-09"},{"lineNumber":50,"author":{"gitId":"martinschnder"},"content":" * @return the prepared command","lastModifiedDate":"2023-10-09"},{"lineNumber":51,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":52,"author":{"gitId":"martinschnder"},"content":" private Command prepareAddCommand(String args) {","lastModifiedDate":"2023-10-09"},{"lineNumber":53,"author":{"gitId":"martinschnder"},"content":" Pattern pattern \u003d Pattern.compile(\"/n (.*) /d (.*) /q (.*)\");","lastModifiedDate":"2023-10-09"},{"lineNumber":54,"author":{"gitId":"martinschnder"},"content":" Matcher matcher \u003d pattern.matcher(args);","lastModifiedDate":"2023-10-09"},{"lineNumber":55,"author":{"gitId":"martinschnder"},"content":" if (matcher.matches() \u0026\u0026 matcher.groupCount() \u003d\u003d 3) {","lastModifiedDate":"2023-10-09"},{"lineNumber":56,"author":{"gitId":"martinschnder"},"content":" String name \u003d matcher.group(1);","lastModifiedDate":"2023-10-09"},{"lineNumber":57,"author":{"gitId":"martinschnder"},"content":" String expiryDate \u003d matcher.group(2);","lastModifiedDate":"2023-10-09"},{"lineNumber":58,"author":{"gitId":"martinschnder"},"content":" Long quantity \u003d Long.parseLong(matcher.group(3));","lastModifiedDate":"2023-10-09"},{"lineNumber":59,"author":{"gitId":"martinschnder"},"content":" return new AddCommand(name, expiryDate, quantity);","lastModifiedDate":"2023-10-09"},{"lineNumber":60,"author":{"gitId":"martinschnder"},"content":" } else {","lastModifiedDate":"2023-10-09"},{"lineNumber":61,"author":{"gitId":"martinschnder"},"content":" return new IncorrectCommand(String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddCommand.MESSAGE_USAGE));","lastModifiedDate":"2023-10-09"},{"lineNumber":62,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":63,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":64,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":65,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":65}},{"path":"src/main/java/seedu/stocker/storage/Storage.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.storage;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"public class Storage {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":4}},{"path":"src/main/java/seedu/stocker/ui/Ui.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.ui;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-10-08"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"import java.io.PrintStream;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"import java.io.InputStream;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"import java.util.Optional;","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"import java.util.List;","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.drugs.Drug;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.CommandResult;","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":"import static seedu.stocker.common.Messages.MESSAGE_WELCOME;","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":"import static seedu.stocker.common.Messages.MESSAGE_GOODBYE;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":16,"author":{"gitId":"TeoHaoZhi"},"content":"public class Ui {","lastModifiedDate":"2023-10-08"},{"lineNumber":17,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":" /** Offset required to convert between 1-indexing and 0-indexing. */","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" public static final int DISPLAYED_INDEX_OFFSET \u003d 1;","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" /** A decorative prefix added to the beginning of lines printed by Jerry */","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":" private static final String LINE_PREFIX \u003d \"|| \";","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"martinschnder"},"content":" private static final String DIVIDER \u003d \"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\";","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"martinschnder"},"content":" /** A platform independent line separator. */","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"martinschnder"},"content":" private static final String LS \u003d System.lineSeparator();","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"martinschnder"},"content":" /** Format of indexed list item */","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"martinschnder"},"content":" private static final String MESSAGE_INDEXED_LIST_ITEM \u003d \"\\t%1$d. %2$s\";","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"martinschnder"},"content":" private final Scanner in;","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"martinschnder"},"content":" private final PrintStream out;","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"TeoHaoZhi"},"content":" public Ui() {","lastModifiedDate":"2023-10-08"},{"lineNumber":36,"author":{"gitId":"martinschnder"},"content":" this(System.in, System.out);","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":38,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":39,"author":{"gitId":"martinschnder"},"content":" public Ui(InputStream in, PrintStream out) {","lastModifiedDate":"2023-10-09"},{"lineNumber":40,"author":{"gitId":"martinschnder"},"content":" this.in \u003d new Scanner(in);","lastModifiedDate":"2023-10-09"},{"lineNumber":41,"author":{"gitId":"martinschnder"},"content":" this.out \u003d out;","lastModifiedDate":"2023-10-09"},{"lineNumber":42,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":43,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":44,"author":{"gitId":"TeoHaoZhi"},"content":" public void printversion1Help(){","lastModifiedDate":"2023-10-08"},{"lineNumber":45,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"Here are a list of possible commands\");","lastModifiedDate":"2023-10-08"},{"lineNumber":46,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"1. add - Add a drug into the system\");","lastModifiedDate":"2023-10-08"},{"lineNumber":47,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"2. delete - Remove a drug from the system\");","lastModifiedDate":"2023-10-08"},{"lineNumber":48,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"3. list - List all current drugs in the system\");","lastModifiedDate":"2023-10-08"},{"lineNumber":49,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"4. find - Find a specific drug in the system\");","lastModifiedDate":"2023-10-08"},{"lineNumber":50,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"5. help - List all available commands\");","lastModifiedDate":"2023-10-08"},{"lineNumber":51,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":52,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println();","lastModifiedDate":"2023-10-08"},{"lineNumber":53,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println();","lastModifiedDate":"2023-10-08"},{"lineNumber":54,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":55,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"Here is the formatting for the commands\");","lastModifiedDate":"2023-10-08"},{"lineNumber":56,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":57,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"For add:\");","lastModifiedDate":"2023-10-08"},{"lineNumber":58,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"add /n \u003cdrug name\u003e /d \u003cexpiry date\u003e /q \u003cquantity\u003e\");","lastModifiedDate":"2023-10-08"},{"lineNumber":59,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println();","lastModifiedDate":"2023-10-08"},{"lineNumber":60,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":61,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"For delete:\");","lastModifiedDate":"2023-10-08"},{"lineNumber":62,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"delete /n \u003cdrug name\u003e\");","lastModifiedDate":"2023-10-08"},{"lineNumber":63,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println();","lastModifiedDate":"2023-10-08"},{"lineNumber":64,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":65,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":66,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"For list:\");","lastModifiedDate":"2023-10-08"},{"lineNumber":67,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"list\");","lastModifiedDate":"2023-10-08"},{"lineNumber":68,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println();","lastModifiedDate":"2023-10-08"},{"lineNumber":69,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":70,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":71,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"For find:\");","lastModifiedDate":"2023-10-08"},{"lineNumber":72,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"find \u003ckeyword\u003e\");","lastModifiedDate":"2023-10-08"},{"lineNumber":73,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println();","lastModifiedDate":"2023-10-08"},{"lineNumber":74,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":75,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":76,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"For help:\");","lastModifiedDate":"2023-10-08"},{"lineNumber":77,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"help\");","lastModifiedDate":"2023-10-08"},{"lineNumber":78,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":79,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":80,"author":{"gitId":"TeoHaoZhi"},"content":" ","lastModifiedDate":"2023-10-08"},{"lineNumber":81,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":82,"author":{"gitId":"martinschnder"},"content":" * Prompts for the command and reads the text entered by the user.","lastModifiedDate":"2023-10-09"},{"lineNumber":83,"author":{"gitId":"martinschnder"},"content":" * Ignores empty, pure whitespace, and comment lines.","lastModifiedDate":"2023-10-09"},{"lineNumber":84,"author":{"gitId":"martinschnder"},"content":" * Echos the command back to the user.","lastModifiedDate":"2023-10-09"},{"lineNumber":85,"author":{"gitId":"martinschnder"},"content":" * @return command (full line) entered by the user","lastModifiedDate":"2023-10-09"},{"lineNumber":86,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":87,"author":{"gitId":"martinschnder"},"content":" public String getUserCommand() {","lastModifiedDate":"2023-10-09"},{"lineNumber":88,"author":{"gitId":"martinschnder"},"content":" out.print(LINE_PREFIX + \"Enter command: \");","lastModifiedDate":"2023-10-09"},{"lineNumber":89,"author":{"gitId":"martinschnder"},"content":" String fullInputLine \u003d in.nextLine();","lastModifiedDate":"2023-10-09"},{"lineNumber":90,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":91,"author":{"gitId":"martinschnder"},"content":" return fullInputLine;","lastModifiedDate":"2023-10-09"},{"lineNumber":92,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":93,"author":{"gitId":"TeoHaoZhi"},"content":" ","lastModifiedDate":"2023-10-08"},{"lineNumber":94,"author":{"gitId":"martinschnder"},"content":" /** Shows message(s) to the user */","lastModifiedDate":"2023-10-09"},{"lineNumber":95,"author":{"gitId":"martinschnder"},"content":" public void showToUser(String... message) {","lastModifiedDate":"2023-10-09"},{"lineNumber":96,"author":{"gitId":"martinschnder"},"content":" for (String m : message) {","lastModifiedDate":"2023-10-09"},{"lineNumber":97,"author":{"gitId":"martinschnder"},"content":" out.println(LINE_PREFIX + m.replace(\"\\n\", LS + LINE_PREFIX));","lastModifiedDate":"2023-10-09"},{"lineNumber":98,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":99,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":100,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":101,"author":{"gitId":"martinschnder"},"content":" public void showWelcomeMessage() {","lastModifiedDate":"2023-10-09"},{"lineNumber":102,"author":{"gitId":"martinschnder"},"content":" showToUser(MESSAGE_WELCOME, DIVIDER, DIVIDER);","lastModifiedDate":"2023-10-09"},{"lineNumber":103,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":104,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":105,"author":{"gitId":"martinschnder"},"content":" public void showGoodbyeMessage() {","lastModifiedDate":"2023-10-09"},{"lineNumber":106,"author":{"gitId":"martinschnder"},"content":" showToUser(MESSAGE_GOODBYE, DIVIDER, DIVIDER);","lastModifiedDate":"2023-10-09"},{"lineNumber":107,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":108,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":109,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":110,"author":{"gitId":"martinschnder"},"content":" * Shows the result of a command execution to the user. Includes additional formatting to demarcate different","lastModifiedDate":"2023-10-09"},{"lineNumber":111,"author":{"gitId":"martinschnder"},"content":" * command execution segments.","lastModifiedDate":"2023-10-09"},{"lineNumber":112,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":113,"author":{"gitId":"martinschnder"},"content":" public void showResultToUser(CommandResult result) {","lastModifiedDate":"2023-10-09"},{"lineNumber":114,"author":{"gitId":"martinschnder"},"content":" final Optional\u003cList\u003cDrug\u003e\u003e resultDrugs \u003d result.getRelevantDrugs();","lastModifiedDate":"2023-10-09"},{"lineNumber":115,"author":{"gitId":"martinschnder"},"content":" if (resultDrugs.isPresent()) {","lastModifiedDate":"2023-10-09"},{"lineNumber":116,"author":{"gitId":"martinschnder"},"content":" showDrugListView(resultDrugs.get());","lastModifiedDate":"2023-10-09"},{"lineNumber":117,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":118,"author":{"gitId":"martinschnder"},"content":" showToUser(result.feedbackToUser, DIVIDER);","lastModifiedDate":"2023-10-09"},{"lineNumber":119,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":120,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":121,"author":{"gitId":"martinschnder"},"content":" /** Shows a list of strings to the user, formatted as an indexed list. */","lastModifiedDate":"2023-10-09"},{"lineNumber":122,"author":{"gitId":"martinschnder"},"content":" private void showToUserAsIndexedList(List\u003cString\u003e list) {","lastModifiedDate":"2023-10-09"},{"lineNumber":123,"author":{"gitId":"martinschnder"},"content":" showToUser(getIndexedListForViewing(list));","lastModifiedDate":"2023-10-09"},{"lineNumber":124,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":125,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":126,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":127,"author":{"gitId":"martinschnder"},"content":" * Shows a list of drugs to the user, formatted as an indexed list.","lastModifiedDate":"2023-10-09"},{"lineNumber":128,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":129,"author":{"gitId":"martinschnder"},"content":" private void showDrugListView(List\u003cDrug\u003e drugs) {","lastModifiedDate":"2023-10-09"},{"lineNumber":130,"author":{"gitId":"martinschnder"},"content":" final List\u003cString\u003e formattedDrugs \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-10-09"},{"lineNumber":131,"author":{"gitId":"martinschnder"},"content":" for (Drug drug : drugs) {","lastModifiedDate":"2023-10-09"},{"lineNumber":132,"author":{"gitId":"martinschnder"},"content":" formattedDrugs.add(drug.toString());","lastModifiedDate":"2023-10-09"},{"lineNumber":133,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":134,"author":{"gitId":"martinschnder"},"content":" showToUserAsIndexedList(formattedDrugs);","lastModifiedDate":"2023-10-09"},{"lineNumber":135,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":136,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":137,"author":{"gitId":"martinschnder"},"content":" /** Formats a list of strings as a viewable indexed list. */","lastModifiedDate":"2023-10-09"},{"lineNumber":138,"author":{"gitId":"martinschnder"},"content":" private static String getIndexedListForViewing(List\u003cString\u003e listItems) {","lastModifiedDate":"2023-10-09"},{"lineNumber":139,"author":{"gitId":"martinschnder"},"content":" final StringBuilder formatted \u003d new StringBuilder();","lastModifiedDate":"2023-10-09"},{"lineNumber":140,"author":{"gitId":"martinschnder"},"content":" int displayIndex \u003d DISPLAYED_INDEX_OFFSET;","lastModifiedDate":"2023-10-09"},{"lineNumber":141,"author":{"gitId":"martinschnder"},"content":" for (String listItem : listItems) {","lastModifiedDate":"2023-10-09"},{"lineNumber":142,"author":{"gitId":"martinschnder"},"content":" formatted.append(getIndexedListItem(displayIndex, listItem)).append(\"\\n\");","lastModifiedDate":"2023-10-09"},{"lineNumber":143,"author":{"gitId":"martinschnder"},"content":" displayIndex++;","lastModifiedDate":"2023-10-09"},{"lineNumber":144,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":145,"author":{"gitId":"martinschnder"},"content":" return formatted.toString();","lastModifiedDate":"2023-10-09"},{"lineNumber":146,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":147,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":148,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":149,"author":{"gitId":"martinschnder"},"content":" * Formats a string as a viewable indexed list item.","lastModifiedDate":"2023-10-09"},{"lineNumber":150,"author":{"gitId":"martinschnder"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":151,"author":{"gitId":"martinschnder"},"content":" * @param visibleIndex visible index for this listing","lastModifiedDate":"2023-10-09"},{"lineNumber":152,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":153,"author":{"gitId":"martinschnder"},"content":" private static String getIndexedListItem(int visibleIndex, String listItem) {","lastModifiedDate":"2023-10-09"},{"lineNumber":154,"author":{"gitId":"martinschnder"},"content":" return String.format(MESSAGE_INDEXED_LIST_ITEM, visibleIndex, listItem);","lastModifiedDate":"2023-10-09"},{"lineNumber":155,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":156,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":157,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-08"}],"authorContributionMap":{"martinschnder":104,"TeoHaoZhi":53}},{"path":"src/test/java/seedu/stocker/StockerTest.java","fileType":"test-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker;","lastModifiedDate":"2023-10-08"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertTrue;","lastModifiedDate":"2020-05-24"},{"lineNumber":4,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2020-05-24"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":"class StockerTest {","lastModifiedDate":"2023-10-08"},{"lineNumber":8,"author":{"gitId":"-"},"content":" @Test","lastModifiedDate":"2020-05-24"},{"lineNumber":9,"author":{"gitId":"-"},"content":" public void sampleTest() {","lastModifiedDate":"2020-05-24"},{"lineNumber":10,"author":{"gitId":"-"},"content":" assertTrue(true);","lastModifiedDate":"2020-05-24"},{"lineNumber":11,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-24"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-24"}],"authorContributionMap":{"TeoHaoZhi":2,"-":10}},{"path":"src/test/java/seedu/stocker/ui/UiTest.java","fileType":"test-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.ui;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-10-08"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":"import java.io.ByteArrayOutputStream;","lastModifiedDate":"2023-10-08"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"import java.io.PrintStream;","lastModifiedDate":"2023-10-08"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":9,"author":{"gitId":"TeoHaoZhi"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-10-08"},{"lineNumber":10,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":11,"author":{"gitId":"TeoHaoZhi"},"content":"class UiTest {","lastModifiedDate":"2023-10-08"},{"lineNumber":12,"author":{"gitId":"TeoHaoZhi"},"content":" @Test","lastModifiedDate":"2023-10-08"},{"lineNumber":13,"author":{"gitId":"TeoHaoZhi"},"content":" public void printVersion1HelpTest() {","lastModifiedDate":"2023-10-08"},{"lineNumber":14,"author":{"gitId":"TeoHaoZhi"},"content":" ByteArrayOutputStream outContent \u003d new ByteArrayOutputStream();","lastModifiedDate":"2023-10-08"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":" System.setOut(new PrintStream(outContent));","lastModifiedDate":"2023-10-08"},{"lineNumber":16,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":17,"author":{"gitId":"TeoHaoZhi"},"content":" Ui toTest \u003d new Ui();","lastModifiedDate":"2023-10-08"},{"lineNumber":18,"author":{"gitId":"TeoHaoZhi"},"content":" toTest.printversion1Help();","lastModifiedDate":"2023-10-08"},{"lineNumber":19,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":20,"author":{"gitId":"TeoHaoZhi"},"content":" String expectedOutput \u003d \"Here are a list of possible commands\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":21,"author":{"gitId":"TeoHaoZhi"},"content":" + \"1. add - Add a drug into the system\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":22,"author":{"gitId":"TeoHaoZhi"},"content":" + \"2. delete - Remove a drug from the system\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":23,"author":{"gitId":"TeoHaoZhi"},"content":" + \"3. list - List all current drugs in the system\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":24,"author":{"gitId":"TeoHaoZhi"},"content":" + \"4. find - Find a specific drug in the system\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":25,"author":{"gitId":"TeoHaoZhi"},"content":" + \"5. help - List all available commands\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":26,"author":{"gitId":"TeoHaoZhi"},"content":" + System.getProperty(\"line.separator\") + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":27,"author":{"gitId":"TeoHaoZhi"},"content":" + \"Here is the formatting for the commands\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":28,"author":{"gitId":"TeoHaoZhi"},"content":" + \"For add:\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":29,"author":{"gitId":"TeoHaoZhi"},"content":" + \"add /n \u003cdrug name\u003e /d \u003cexpiry date\u003e /q \u003cquantity\u003e\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":30,"author":{"gitId":"TeoHaoZhi"},"content":" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":31,"author":{"gitId":"TeoHaoZhi"},"content":" + \"For delete:\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":32,"author":{"gitId":"TeoHaoZhi"},"content":" + \"delete /n \u003cdrug name\u003e\" + System.getProperty(\"line.separator\") + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":33,"author":{"gitId":"TeoHaoZhi"},"content":" + \"For list:\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":34,"author":{"gitId":"TeoHaoZhi"},"content":" + \"list\" + System.getProperty(\"line.separator\") + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":35,"author":{"gitId":"TeoHaoZhi"},"content":" + \"For find:\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":36,"author":{"gitId":"TeoHaoZhi"},"content":" + \"find \u003ckeyword\u003e\" + System.getProperty(\"line.separator\") + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":37,"author":{"gitId":"TeoHaoZhi"},"content":" + \"For help:\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":38,"author":{"gitId":"TeoHaoZhi"},"content":" + \"help\" + System.getProperty(\"line.separator\");","lastModifiedDate":"2023-10-08"},{"lineNumber":39,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":40,"author":{"gitId":"TeoHaoZhi"},"content":" assertEquals(expectedOutput, outContent.toString());","lastModifiedDate":"2023-10-08"},{"lineNumber":41,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":42,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":43,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":44,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":45,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":46,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":47,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-08"}],"authorContributionMap":{"martinschnder":1,"TeoHaoZhi":46}}] +[{"path":"build.gradle","fileType":"other","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"plugins {","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":" id \u0027java\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":" id \u0027application\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":" id \u0027checkstyle\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2022-06-17"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":14,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"martinschnder"},"content":" mainClass.set(\"seedu.stocker.Stocker\")","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"martinschnder"},"content":" archiveBaseName.set(\"stocker\")","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"-"},"content":" archiveClassifier.set(\"\")","lastModifiedDate":"2023-09-24"},{"lineNumber":38,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":"checkstyle {","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":" toolVersion \u003d \u002710.2\u0027","lastModifiedDate":"2022-04-29"},{"lineNumber":42,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":43,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":44,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":45,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":46,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"martinschnder":2,"-":44}},{"path":"docs/AboutUs.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# About us","lastModifiedDate":"2020-05-24"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"| Display | Name | Github Profile | Portfolio |","lastModifiedDate":"2023-10-05"},{"lineNumber":4,"author":{"gitId":"azfarulmatin"},"content":"|-----------------------------|:----------------:|:------------------------------------------:|:--------------------------------:|","lastModifiedDate":"2023-10-07"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"| ![](team/Martin.jpeg) | Martin Schneider | [Github](https://github.com/martinschnder) | [Portfolio](docs/team/Martin.md) |","lastModifiedDate":"2023-10-07"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"| ![](team/Karishma.png) | Karishma | [Github](https://github.com/karishma-t) | [Portfolio](team/karishma.md) |","lastModifiedDate":"2023-10-06"},{"lineNumber":7,"author":{"gitId":"karishma-t"},"content":"| ![](team/Barbara_image.JPG) | Barbara Chong | [Github](https://github.com/barbaracwx) | [Portfolio](team/Barbara.md) |","lastModifiedDate":"2023-10-05"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":"| ![](team/HaoZhi.png) | Teo Hao Zhi | [Github](https://github.com/TeoHaoZhi) | [Portfolio](team/HaoZhi.md) |","lastModifiedDate":"2023-10-06"},{"lineNumber":9,"author":{"gitId":"azfarulmatin"},"content":"| ![](team/Azfarul.JPG) | Azfarul Matin | [Github](https://github.com/azfarulmatin) | [Portfolio](team/Azfarul.md) |","lastModifiedDate":"2023-10-07"},{"lineNumber":10,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":11,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-06"}],"authorContributionMap":{"karishma-t":1,"martinschnder":1,"azfarulmatin":2,"TeoHaoZhi":5,"-":2}},{"path":"docs/README.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"# Stocker","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2019-07-29"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"Stocker v1.o is a desktop app that will provide quick access to currently available stock,","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"track incoming stock and expiration dates, and categorize drugs based on different labels.","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":"It is optimized for use via a Command Line Interface (CLI). If you can type fast, Stocker","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"can get your inventory management tasks done faster than traditional GUI apps.","lastModifiedDate":"2023-10-10"},{"lineNumber":7,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2019-07-29"},{"lineNumber":8,"author":{"gitId":"-"},"content":"Useful links:","lastModifiedDate":"2020-05-24"},{"lineNumber":9,"author":{"gitId":"-"},"content":"* [User Guide](UserGuide.md)","lastModifiedDate":"2020-05-24"},{"lineNumber":10,"author":{"gitId":"-"},"content":"* [Developer Guide](DeveloperGuide.md)","lastModifiedDate":"2020-05-24"},{"lineNumber":11,"author":{"gitId":"-"},"content":"* [About Us](AboutUs.md)","lastModifiedDate":"2020-05-24"}],"authorContributionMap":{"TeoHaoZhi":5,"-":6}},{"path":"docs/UserGuide.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# User Guide","lastModifiedDate":"2020-05-24"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"-"},"content":"## Introduction","lastModifiedDate":"2020-05-24"},{"lineNumber":4,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":"Stocker v1.o is a desktop app that will provide quick access to currently available stock, ","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"track incoming stock and expiration dates, and categorize drugs based on different labels. ","lastModifiedDate":"2023-10-10"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":"It is optimized for use via a Command Line Interface (CLI). If you can type fast, Stocker ","lastModifiedDate":"2023-10-10"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":"can get your inventory management tasks done faster than traditional GUI apps.","lastModifiedDate":"2023-10-10"},{"lineNumber":9,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":10,"author":{"gitId":"-"},"content":"## Quick Start","lastModifiedDate":"2020-05-24"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":12,"author":{"gitId":"-"},"content":"{Give steps to get started quickly}","lastModifiedDate":"2020-05-24"},{"lineNumber":13,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":14,"author":{"gitId":"-"},"content":"1. Ensure that you have Java 11 or above installed.","lastModifiedDate":"2020-05-24"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":"1. Down the latest version of `Stocker` from [here](http://link.to/duke).","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":17,"author":{"gitId":"-"},"content":"## Features ","lastModifiedDate":"2020-05-24"},{"lineNumber":18,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":19,"author":{"gitId":"TeoHaoZhi"},"content":"### Feature-add","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":21,"author":{"gitId":"TeoHaoZhi"},"content":"Adds a drug into the inventory list.","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":23,"author":{"gitId":"TeoHaoZhi"},"content":"### Feature-delete","lastModifiedDate":"2023-10-10"},{"lineNumber":24,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":25,"author":{"gitId":"TeoHaoZhi"},"content":"Deletes a drug being tracked by the system.","lastModifiedDate":"2023-10-10"},{"lineNumber":26,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":27,"author":{"gitId":"TeoHaoZhi"},"content":"### Feature-list","lastModifiedDate":"2023-10-10"},{"lineNumber":28,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":29,"author":{"gitId":"TeoHaoZhi"},"content":"List all drug information that is being tracked by the system.","lastModifiedDate":"2023-10-10"},{"lineNumber":30,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":31,"author":{"gitId":"TeoHaoZhi"},"content":"### Feature-find","lastModifiedDate":"2023-10-10"},{"lineNumber":32,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":33,"author":{"gitId":"TeoHaoZhi"},"content":"Finds drugs whose names contain any of the given keywords.","lastModifiedDate":"2023-10-10"},{"lineNumber":34,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":35,"author":{"gitId":"TeoHaoZhi"},"content":"### Feature-help","lastModifiedDate":"2023-10-10"},{"lineNumber":36,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":37,"author":{"gitId":"TeoHaoZhi"},"content":"List all currently available commands in current version, their ","lastModifiedDate":"2023-10-10"},{"lineNumber":38,"author":{"gitId":"TeoHaoZhi"},"content":"uses and how to format them in the command line.","lastModifiedDate":"2023-10-10"},{"lineNumber":39,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":40,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":41,"author":{"gitId":"TeoHaoZhi"},"content":"## Usage","lastModifiedDate":"2023-10-10"},{"lineNumber":42,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":43,"author":{"gitId":"TeoHaoZhi"},"content":"### `add` - Adds drug into inventory list","lastModifiedDate":"2023-10-10"},{"lineNumber":44,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":45,"author":{"gitId":"TeoHaoZhi"},"content":"Adds a drug to be tracked by the system.","lastModifiedDate":"2023-10-10"},{"lineNumber":46,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":47,"author":{"gitId":"TeoHaoZhi"},"content":"Format:","lastModifiedDate":"2023-10-10"},{"lineNumber":48,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":49,"author":{"gitId":"TeoHaoZhi"},"content":"add /n DRUG_NAME /d EXPIRY_DATE /q QUANTITY","lastModifiedDate":"2023-10-10"},{"lineNumber":50,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":51,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":52,"author":{"gitId":"TeoHaoZhi"},"content":"Example of usage:","lastModifiedDate":"2023-10-10"},{"lineNumber":53,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":54,"author":{"gitId":"TeoHaoZhi"},"content":"`add /n Panadol /d 12 June 2026 /q 300","lastModifiedDate":"2023-10-10"},{"lineNumber":55,"author":{"gitId":"TeoHaoZhi"},"content":"`","lastModifiedDate":"2023-10-10"},{"lineNumber":56,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":57,"author":{"gitId":"TeoHaoZhi"},"content":"Expected outcome:","lastModifiedDate":"2023-10-10"},{"lineNumber":58,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":59,"author":{"gitId":"TeoHaoZhi"},"content":"```","lastModifiedDate":"2023-10-10"},{"lineNumber":60,"author":{"gitId":"TeoHaoZhi"},"content":"added : Panadol","lastModifiedDate":"2023-10-10"},{"lineNumber":61,"author":{"gitId":"TeoHaoZhi"},"content":"Expiry : 12 June 2026","lastModifiedDate":"2023-10-10"},{"lineNumber":62,"author":{"gitId":"TeoHaoZhi"},"content":"Quantity : 300","lastModifiedDate":"2023-10-10"},{"lineNumber":63,"author":{"gitId":"TeoHaoZhi"},"content":"There are now 1 type of drugs in the system","lastModifiedDate":"2023-10-10"},{"lineNumber":64,"author":{"gitId":"TeoHaoZhi"},"content":"```","lastModifiedDate":"2023-10-10"},{"lineNumber":65,"author":{"gitId":"TeoHaoZhi"},"content":"### `delete` - Deletes a drug being tracked by the system","lastModifiedDate":"2023-10-10"},{"lineNumber":66,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":67,"author":{"gitId":"TeoHaoZhi"},"content":"Deletes a drug being tracked by the system.","lastModifiedDate":"2023-10-10"},{"lineNumber":68,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":69,"author":{"gitId":"TeoHaoZhi"},"content":"Format:","lastModifiedDate":"2023-10-10"},{"lineNumber":70,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":71,"author":{"gitId":"TeoHaoZhi"},"content":"delete /n DRUG_NAM","lastModifiedDate":"2023-10-10"},{"lineNumber":72,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":73,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":74,"author":{"gitId":"TeoHaoZhi"},"content":"Example of usage:","lastModifiedDate":"2023-10-10"},{"lineNumber":75,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":76,"author":{"gitId":"TeoHaoZhi"},"content":"`delete /n Panadol","lastModifiedDate":"2023-10-10"},{"lineNumber":77,"author":{"gitId":"TeoHaoZhi"},"content":"`","lastModifiedDate":"2023-10-10"},{"lineNumber":78,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":79,"author":{"gitId":"TeoHaoZhi"},"content":"Expected outcome:","lastModifiedDate":"2023-10-10"},{"lineNumber":80,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":81,"author":{"gitId":"TeoHaoZhi"},"content":"```","lastModifiedDate":"2023-10-10"},{"lineNumber":82,"author":{"gitId":"TeoHaoZhi"},"content":"removed : Panadol","lastModifiedDate":"2023-10-10"},{"lineNumber":83,"author":{"gitId":"TeoHaoZhi"},"content":"There are now 0 drugs in the system","lastModifiedDate":"2023-10-10"},{"lineNumber":84,"author":{"gitId":"TeoHaoZhi"},"content":"```","lastModifiedDate":"2023-10-10"},{"lineNumber":85,"author":{"gitId":"TeoHaoZhi"},"content":"### `list` - List all drug information that is being tracked by the system","lastModifiedDate":"2023-10-10"},{"lineNumber":86,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":87,"author":{"gitId":"TeoHaoZhi"},"content":"List all drug information that is being tracked by the system.","lastModifiedDate":"2023-10-10"},{"lineNumber":88,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":89,"author":{"gitId":"TeoHaoZhi"},"content":"Format:","lastModifiedDate":"2023-10-10"},{"lineNumber":90,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":91,"author":{"gitId":"TeoHaoZhi"},"content":"list","lastModifiedDate":"2023-10-10"},{"lineNumber":92,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":93,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":94,"author":{"gitId":"TeoHaoZhi"},"content":"Example of usage:","lastModifiedDate":"2023-10-10"},{"lineNumber":95,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":96,"author":{"gitId":"TeoHaoZhi"},"content":"`list","lastModifiedDate":"2023-10-10"},{"lineNumber":97,"author":{"gitId":"TeoHaoZhi"},"content":"`","lastModifiedDate":"2023-10-10"},{"lineNumber":98,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":99,"author":{"gitId":"TeoHaoZhi"},"content":"Expected outcome:","lastModifiedDate":"2023-10-10"},{"lineNumber":100,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":101,"author":{"gitId":"TeoHaoZhi"},"content":"```","lastModifiedDate":"2023-10-10"},{"lineNumber":102,"author":{"gitId":"TeoHaoZhi"},"content":"Here are a list of drugs in the system:","lastModifiedDate":"2023-10-10"},{"lineNumber":103,"author":{"gitId":"TeoHaoZhi"},"content":"1. Panadol / 26 June 2023/ [300]","lastModifiedDate":"2023-10-10"},{"lineNumber":104,"author":{"gitId":"TeoHaoZhi"},"content":"```","lastModifiedDate":"2023-10-10"},{"lineNumber":105,"author":{"gitId":"TeoHaoZhi"},"content":"### `find` - Finds drugs whose names contain any of the given keywords","lastModifiedDate":"2023-10-10"},{"lineNumber":106,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":107,"author":{"gitId":"TeoHaoZhi"},"content":"Finds drugs whose names contain any of the given keywords.","lastModifiedDate":"2023-10-10"},{"lineNumber":108,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":109,"author":{"gitId":"TeoHaoZhi"},"content":"Format:","lastModifiedDate":"2023-10-10"},{"lineNumber":110,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":111,"author":{"gitId":"TeoHaoZhi"},"content":"list","lastModifiedDate":"2023-10-10"},{"lineNumber":112,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":113,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":114,"author":{"gitId":"TeoHaoZhi"},"content":"Example of usage:","lastModifiedDate":"2023-10-10"},{"lineNumber":115,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":116,"author":{"gitId":"TeoHaoZhi"},"content":"` find KEYWORD [MORE_KEYWORDS]","lastModifiedDate":"2023-10-10"},{"lineNumber":117,"author":{"gitId":"TeoHaoZhi"},"content":"`","lastModifiedDate":"2023-10-10"},{"lineNumber":118,"author":{"gitId":"TeoHaoZhi"},"content":"The search is case-insensitive, meaning that \"aspirin\" will match \"Aspirin.\"","lastModifiedDate":"2023-10-10"},{"lineNumber":119,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":120,"author":{"gitId":"TeoHaoZhi"},"content":"The order of the keywords does not matter. For example, \"Painkiller Relief\" will match \"Relief Painkiller.\"","lastModifiedDate":"2023-10-10"},{"lineNumber":121,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":122,"author":{"gitId":"TeoHaoZhi"},"content":"Only the drug name is searched.","lastModifiedDate":"2023-10-10"},{"lineNumber":123,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":124,"author":{"gitId":"TeoHaoZhi"},"content":"Only full words will be matched. For example, \"Pan\" will not match \"Panadol.\"","lastModifiedDate":"2023-10-10"},{"lineNumber":125,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":126,"author":{"gitId":"TeoHaoZhi"},"content":"Drugs matching at least one keyword will be returned (i.e., OR search).","lastModifiedDate":"2023-10-10"},{"lineNumber":127,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":128,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":129,"author":{"gitId":"TeoHaoZhi"},"content":"Expected outcome:","lastModifiedDate":"2023-10-10"},{"lineNumber":130,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":131,"author":{"gitId":"TeoHaoZhi"},"content":"```","lastModifiedDate":"2023-10-10"},{"lineNumber":132,"author":{"gitId":"TeoHaoZhi"},"content":"Here is a list of drugs matching your description:","lastModifiedDate":"2023-10-10"},{"lineNumber":133,"author":{"gitId":"TeoHaoZhi"},"content":"1. Panadol / 26 June 2023/ [300]","lastModifiedDate":"2023-10-10"},{"lineNumber":134,"author":{"gitId":"TeoHaoZhi"},"content":"```","lastModifiedDate":"2023-10-10"},{"lineNumber":135,"author":{"gitId":"TeoHaoZhi"},"content":"### `help` - List currently available commands in current version, their uses and how to format them in the command line","lastModifiedDate":"2023-10-10"},{"lineNumber":136,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":137,"author":{"gitId":"TeoHaoZhi"},"content":"List all currently available commands in current version, ","lastModifiedDate":"2023-10-10"},{"lineNumber":138,"author":{"gitId":"TeoHaoZhi"},"content":"their uses and how to format them in the command line","lastModifiedDate":"2023-10-10"},{"lineNumber":139,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":140,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":141,"author":{"gitId":"TeoHaoZhi"},"content":"Format:","lastModifiedDate":"2023-10-10"},{"lineNumber":142,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":143,"author":{"gitId":"TeoHaoZhi"},"content":"help","lastModifiedDate":"2023-10-10"},{"lineNumber":144,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":145,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":146,"author":{"gitId":"-"},"content":"Example of usage:","lastModifiedDate":"2020-05-24"},{"lineNumber":147,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":148,"author":{"gitId":"TeoHaoZhi"},"content":"`help","lastModifiedDate":"2023-10-10"},{"lineNumber":149,"author":{"gitId":"TeoHaoZhi"},"content":"`","lastModifiedDate":"2023-10-10"},{"lineNumber":150,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":151,"author":{"gitId":"TeoHaoZhi"},"content":"Expected outcome:","lastModifiedDate":"2023-10-10"},{"lineNumber":152,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":153,"author":{"gitId":"TeoHaoZhi"},"content":"```","lastModifiedDate":"2023-10-10"},{"lineNumber":154,"author":{"gitId":"TeoHaoZhi"},"content":"1. add","lastModifiedDate":"2023-10-10"},{"lineNumber":155,"author":{"gitId":"TeoHaoZhi"},"content":"Format: add /n DRUG_NAME /d EXPIRY_DATE /q QUANTITY","lastModifiedDate":"2023-10-10"},{"lineNumber":156,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":157,"author":{"gitId":"TeoHaoZhi"},"content":"2. delete","lastModifiedDate":"2023-10-10"},{"lineNumber":158,"author":{"gitId":"TeoHaoZhi"},"content":"Format: delete /n DRUG_NAME","lastModifiedDate":"2023-10-10"},{"lineNumber":159,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":160,"author":{"gitId":"TeoHaoZhi"},"content":"3. list","lastModifiedDate":"2023-10-10"},{"lineNumber":161,"author":{"gitId":"TeoHaoZhi"},"content":"Format: list","lastModifiedDate":"2023-10-10"},{"lineNumber":162,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":163,"author":{"gitId":"TeoHaoZhi"},"content":"4. find","lastModifiedDate":"2023-10-10"},{"lineNumber":164,"author":{"gitId":"TeoHaoZhi"},"content":"Format: find KEYWORD [MORE_KEYWORDS]","lastModifiedDate":"2023-10-10"},{"lineNumber":165,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":166,"author":{"gitId":"TeoHaoZhi"},"content":"5. help","lastModifiedDate":"2023-10-10"},{"lineNumber":167,"author":{"gitId":"TeoHaoZhi"},"content":"Format : help","lastModifiedDate":"2023-10-10"},{"lineNumber":168,"author":{"gitId":"TeoHaoZhi"},"content":"```","lastModifiedDate":"2023-10-10"},{"lineNumber":169,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":170,"author":{"gitId":"-"},"content":"## FAQ","lastModifiedDate":"2020-05-24"},{"lineNumber":171,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":172,"author":{"gitId":"-"},"content":"**Q**: How do I transfer my data to another computer? ","lastModifiedDate":"2020-05-24"},{"lineNumber":173,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":174,"author":{"gitId":"-"},"content":"**A**: {your answer here}","lastModifiedDate":"2020-05-24"},{"lineNumber":175,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":176,"author":{"gitId":"-"},"content":"## Command Summary","lastModifiedDate":"2020-05-24"},{"lineNumber":177,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":178,"author":{"gitId":"-"},"content":"{Give a \u0027cheat sheet\u0027 of commands here}","lastModifiedDate":"2020-05-24"},{"lineNumber":179,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":180,"author":{"gitId":"TeoHaoZhi"},"content":"* add : `add /n DRUG_NAME /d EXPIRY_DATE /q QUANTITY`","lastModifiedDate":"2023-10-10"},{"lineNumber":181,"author":{"gitId":"TeoHaoZhi"},"content":"* delete : `delete /n DRUG_NAME`","lastModifiedDate":"2023-10-10"},{"lineNumber":182,"author":{"gitId":"TeoHaoZhi"},"content":"* list : `list`","lastModifiedDate":"2023-10-10"},{"lineNumber":183,"author":{"gitId":"TeoHaoZhi"},"content":"* find : `find KEYWORD [MORE_KEYWORDS]`","lastModifiedDate":"2023-10-10"},{"lineNumber":184,"author":{"gitId":"TeoHaoZhi"},"content":"* help : `help`","lastModifiedDate":"2023-10-10"}],"authorContributionMap":{"TeoHaoZhi":149,"-":35}},{"path":"docs/team/Azfarul.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"azfarulmatin"},"content":"# Azfarul Matin - Project Portfolio Page","lastModifiedDate":"2023-10-07"},{"lineNumber":2,"author":{"gitId":"azfarulmatin"},"content":"","lastModifiedDate":"2023-10-07"},{"lineNumber":3,"author":{"gitId":"azfarulmatin"},"content":"## Overview","lastModifiedDate":"2023-10-07"},{"lineNumber":4,"author":{"gitId":"azfarulmatin"},"content":"","lastModifiedDate":"2023-10-07"},{"lineNumber":5,"author":{"gitId":"azfarulmatin"},"content":"","lastModifiedDate":"2023-10-07"},{"lineNumber":6,"author":{"gitId":"azfarulmatin"},"content":"### Summary of Contributions","lastModifiedDate":"2023-10-07"}],"authorContributionMap":{"azfarulmatin":6}},{"path":"docs/team/Barbara.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"Barbaracwx"},"content":"# Barbara Chong - Project Portfolio Page","lastModifiedDate":"2023-10-05"},{"lineNumber":2,"author":{"gitId":"Barbaracwx"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":3,"author":{"gitId":"Barbaracwx"},"content":"## Overview","lastModifiedDate":"2023-10-05"},{"lineNumber":4,"author":{"gitId":"Barbaracwx"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":5,"author":{"gitId":"Barbaracwx"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":6,"author":{"gitId":"Barbaracwx"},"content":"### Summary of Contributions","lastModifiedDate":"2023-10-05"}],"authorContributionMap":{"Barbaracwx":6}},{"path":"docs/team/HaoZhi.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"# Hao Zhi - Project Portfolio Page","lastModifiedDate":"2023-10-05"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"## Overview","lastModifiedDate":"2023-10-05"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"### Summary of Contributions","lastModifiedDate":"2023-10-05"}],"authorContributionMap":{"TeoHaoZhi":6}},{"path":"docs/team/Karishma.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"karishma-t"},"content":"# Karishma - Project Portfolio Page","lastModifiedDate":"2023-10-05"},{"lineNumber":2,"author":{"gitId":"karishma-t"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":3,"author":{"gitId":"karishma-t"},"content":"## Overview","lastModifiedDate":"2023-10-05"},{"lineNumber":4,"author":{"gitId":"karishma-t"},"content":"","lastModifiedDate":"2023-10-05"},{"lineNumber":5,"author":{"gitId":"karishma-t"},"content":"### Summary of Contributions","lastModifiedDate":"2023-10-05"}],"authorContributionMap":{"karishma-t":5}},{"path":"docs/team/Martin.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"# Martin Schneider - Project Portfolio Page","lastModifiedDate":"2023-10-07"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-07"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"## Overview","lastModifiedDate":"2023-10-07"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-07"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"### Summary of Contributions","lastModifiedDate":"2023-10-07"}],"authorContributionMap":{"martinschnder":5}},{"path":"src/main/java/seedu/stocker/Stocker.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker;","lastModifiedDate":"2023-10-08"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.ui.Ui;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.parser.Parser;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.Command;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.CommandResult;","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.ExitCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.drugs.Inventory;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":10,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":12,"author":{"gitId":"TeoHaoZhi"},"content":"public class Stocker {","lastModifiedDate":"2023-10-08"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" private Ui ui;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" private Inventory inventory;","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" public static void main(String[] launchArgs) {","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":" new Stocker().run();","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" /** Runs the program until termination. */","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":" public void run() {","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"martinschnder"},"content":" start();","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"martinschnder"},"content":" runCommandLoopUntilExitCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"martinschnder"},"content":" exit();","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"martinschnder"},"content":" * Sets up the required objects, and prints the welcome message.","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"martinschnder"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"martinschnder"},"content":" private void start() {","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"martinschnder"},"content":" this.ui \u003d new Ui();","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"martinschnder"},"content":" this.inventory \u003d new Inventory();","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"martinschnder"},"content":" ui.showWelcomeMessage();","lastModifiedDate":"2023-10-09"},{"lineNumber":36,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":38,"author":{"gitId":"martinschnder"},"content":" /** Prints the Goodbye message and exits. */","lastModifiedDate":"2023-10-09"},{"lineNumber":39,"author":{"gitId":"martinschnder"},"content":" private void exit() {","lastModifiedDate":"2023-10-09"},{"lineNumber":40,"author":{"gitId":"martinschnder"},"content":" ui.showGoodbyeMessage();","lastModifiedDate":"2023-10-09"},{"lineNumber":41,"author":{"gitId":"martinschnder"},"content":" System.exit(0);","lastModifiedDate":"2023-10-09"},{"lineNumber":42,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":43,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":44,"author":{"gitId":"martinschnder"},"content":" /** Reads the user command and executes it, until the user issues the exit command. */","lastModifiedDate":"2023-10-09"},{"lineNumber":45,"author":{"gitId":"martinschnder"},"content":" private void runCommandLoopUntilExitCommand() {","lastModifiedDate":"2023-10-09"},{"lineNumber":46,"author":{"gitId":"martinschnder"},"content":" Command command;","lastModifiedDate":"2023-10-09"},{"lineNumber":47,"author":{"gitId":"martinschnder"},"content":" do {","lastModifiedDate":"2023-10-09"},{"lineNumber":48,"author":{"gitId":"martinschnder"},"content":" String userCommandText \u003d ui.getUserCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":49,"author":{"gitId":"martinschnder"},"content":" command \u003d new Parser().parseCommand(userCommandText);","lastModifiedDate":"2023-10-09"},{"lineNumber":50,"author":{"gitId":"martinschnder"},"content":" CommandResult result \u003d executeCommand(command);","lastModifiedDate":"2023-10-09"},{"lineNumber":51,"author":{"gitId":"martinschnder"},"content":" ui.showResultToUser(result);","lastModifiedDate":"2023-10-09"},{"lineNumber":52,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":53,"author":{"gitId":"martinschnder"},"content":" } while (!ExitCommand.isExit(command));","lastModifiedDate":"2023-10-09"},{"lineNumber":54,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":55,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":56,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":57,"author":{"gitId":"-"},"content":" /**","lastModifiedDate":"2020-05-24"},{"lineNumber":58,"author":{"gitId":"martinschnder"},"content":" * Executes the command and returns the result.","lastModifiedDate":"2023-10-09"},{"lineNumber":59,"author":{"gitId":"martinschnder"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":60,"author":{"gitId":"martinschnder"},"content":" * @param command user command","lastModifiedDate":"2023-10-09"},{"lineNumber":61,"author":{"gitId":"martinschnder"},"content":" * @return result of the command","lastModifiedDate":"2023-10-09"},{"lineNumber":62,"author":{"gitId":"-"},"content":" */","lastModifiedDate":"2020-05-24"},{"lineNumber":63,"author":{"gitId":"martinschnder"},"content":" private CommandResult executeCommand(Command command) {","lastModifiedDate":"2023-10-09"},{"lineNumber":64,"author":{"gitId":"martinschnder"},"content":" command.setData(inventory);","lastModifiedDate":"2023-10-09"},{"lineNumber":65,"author":{"gitId":"martinschnder"},"content":" CommandResult result \u003d command.execute();","lastModifiedDate":"2023-10-09"},{"lineNumber":66,"author":{"gitId":"martinschnder"},"content":" return result;","lastModifiedDate":"2023-10-09"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":68,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"martinschnder":58,"TeoHaoZhi":4,"-":6}},{"path":"src/main/java/seedu/stocker/commands/AddCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.drugs.Drug;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":" * Adds a drug into the inventory","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"public class AddCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" public static final String COMMAND_WORD \u003d \"add\";","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_USAGE \u003d COMMAND_WORD + \": Adds a new drug to the drug list. \"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":" + \"Parameters: NAME, EXPIRY DATE, QUANTITY, \\n\"","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" + \"Example: \" + COMMAND_WORD","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" + \" /n Doliprane /d 12/06/2035 /q 52\";","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_SUCCESS \u003d \"New drug added in the inventory: %1$s\";","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" private final Drug toAdd;","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" public AddCommand(String name, String expiryDate, Long quantity) {","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":" this.toAdd \u003d new Drug(name, expiryDate, quantity);","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"martinschnder"},"content":" public Drug getDrug() {","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"martinschnder"},"content":" return this.toAdd;","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"martinschnder"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"martinschnder"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"martinschnder"},"content":" inventory.addDrug(toAdd);","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"TeoHaoZhi"},"content":" return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd.name));","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":33,"TeoHaoZhi":1}},{"path":"src/main/java/seedu/stocker/commands/Command.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.drugs.Inventory;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"public abstract class Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":" protected Inventory inventory;","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":" protected Command() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":" public void setData(Inventory inventory) {","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" this.inventory \u003d inventory;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":" * Executes the command and returns the result.","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":" public abstract CommandResult execute();","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":22}},{"path":"src/main/java/seedu/stocker/commands/CommandResult.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"import java.util.List;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.drugs.Drug;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"import java.util.Optional;","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":" * Represents the result of a command execution.","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":"public class CommandResult {","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":" /** The feedback message to be shown to the user. Contains a description of the execution result */","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" public final String feedbackToUser;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":" /** The list of drugs that was produced by the command */","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" private final List\u003cDrug\u003e relevantDrugs;","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" public CommandResult(String feedbackToUser) {","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":" this.feedbackToUser \u003d feedbackToUser;","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" relevantDrugs \u003d null;","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"martinschnder"},"content":" public CommandResult(String feedbackToUser, List\u003cDrug\u003e relevantDrugs) {","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"martinschnder"},"content":" this.feedbackToUser \u003d feedbackToUser;","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"martinschnder"},"content":" this.relevantDrugs \u003d relevantDrugs;","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"martinschnder"},"content":" * Returns a list of drugs that was produced by the command, if any.","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"martinschnder"},"content":" public Optional\u003cList\u003cDrug\u003e\u003e getRelevantDrugs() {","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"martinschnder"},"content":" return Optional.ofNullable(relevantDrugs);","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":36,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":36}},{"path":"src/main/java/seedu/stocker/commands/DeleteCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"public class DeleteCommand extends Command{","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String COMMAND_WORD \u003d \"delete\";","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String MESSAGE_USAGE \u003d COMMAND_WORD + \": Removes a drug from drug list. \"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":" + \"Parameters: Name \\n\"","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"TeoHaoZhi"},"content":" + \"Example: \" + COMMAND_WORD","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"TeoHaoZhi"},"content":" + \" \u003cDrug Name\u003e\";","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String MESSAGE_SUCCESS \u003d \"Drug removed from inventory: %1$s\";","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"TeoHaoZhi"},"content":" //Edit functions below to give delete functionality","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"TeoHaoZhi"},"content":" // public AddCommand(String name, String expiryDate, Long quantity) {","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"TeoHaoZhi"},"content":" // this.toAdd \u003d new Drug(name, expiryDate, quantity);","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"TeoHaoZhi"},"content":" // }","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"TeoHaoZhi"},"content":" // public Drug getDrug() {","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"TeoHaoZhi"},"content":" // return this.toAdd;","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"TeoHaoZhi"},"content":" // }","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"TeoHaoZhi"},"content":" //edit function to replace placeholder","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"TeoHaoZhi"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"TeoHaoZhi"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"TeoHaoZhi"},"content":" return new CommandResult(String.format(MESSAGE_SUCCESS, inventory.allDrugs));","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"TeoHaoZhi":32}},{"path":"src/main/java/seedu/stocker/commands/ExitCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":" * Terminates the program.","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"public class ExitCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":" public static final String COMMAND_WORD \u003d \"bye\";","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_USAGE \u003d COMMAND_WORD + \": Exits the program.\\n\"","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":" + \"Example: \" + COMMAND_WORD;","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_EXIT_ACKNOWEDGEMENT \u003d \"Exiting Stocker as requested ...\";","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":" return new CommandResult(MESSAGE_EXIT_ACKNOWEDGEMENT);","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" public static boolean isExit(Command command) {","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":" return command instanceof ExitCommand; // instanceof returns false if it is null","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":22}},{"path":"src/main/java/seedu/stocker/commands/FindCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"public class FindCommand extends Command{","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String COMMAND_WORD \u003d \"find\";","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String MESSAGE_USAGE \u003d COMMAND_WORD + \": Finds drug in inventory \\n\"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":" + \"Example: \" + COMMAND_WORD + \" panadol\";","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"TeoHaoZhi"},"content":" //edit function to give find functionality","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"TeoHaoZhi"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"TeoHaoZhi"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"TeoHaoZhi"},"content":" return new CommandResult(","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"TeoHaoZhi"},"content":" AddCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + HelpCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + ListCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + ExitCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"TeoHaoZhi"},"content":" );","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"TeoHaoZhi":20}},{"path":"src/main/java/seedu/stocker/commands/HelpCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":" * Shows help instructions.","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"public class HelpCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":" public static final String COMMAND_WORD \u003d \"help\";","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_USAGE \u003d COMMAND_WORD + \": Shows program usage instructions. \\n\"","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":" + \"Example: \" + COMMAND_WORD;","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" return new CommandResult(","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":" AddCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + DeleteCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":" + \"\\n\" + HelpCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + ListCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + FindCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" + \"\\n\" + ExitCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":" );","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":21,"TeoHaoZhi":3}},{"path":"src/main/java/seedu/stocker/commands/IncorrectCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":" * Represents an incorrect command. Upon execution, produces some feedback to the user.","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"public class IncorrectCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":" public final String feedbackToUser;","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":" public IncorrectCommand(String feedbackToUser) {","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":" this.feedbackToUser \u003d feedbackToUser;","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" return new CommandResult(feedbackToUser);","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":20}},{"path":"src/main/java/seedu/stocker/commands/ListCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"public class ListCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String COMMAND_WORD \u003d \"list\";","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":" public static final String MESSAGE_USAGE \u003d COMMAND_WORD + \": Shows program usage instructions. \\n\"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":" + \"Example: \" + COMMAND_WORD;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"TeoHaoZhi"},"content":" //Edit this func to fill in implementation of list","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"TeoHaoZhi"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"TeoHaoZhi"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"TeoHaoZhi"},"content":" return new CommandResult(","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"TeoHaoZhi"},"content":" AddCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + HelpCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + ListCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"TeoHaoZhi"},"content":" + \"\\n\" + ExitCommand.MESSAGE_USAGE","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"TeoHaoZhi"},"content":" );","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"TeoHaoZhi":24}},{"path":"src/main/java/seedu/stocker/common/Messages.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.common;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":" * Container for user visible messages.","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"public class Messages {","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_WELCOME \u003d \"Welcome to your Stocker!\";","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_GOODBYE \u003d \"Good bye!\";","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" public static final String MESSAGE_INVALID_COMMAND_FORMAT \u003d \"Invalid command format! \\n%1$s\";","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":11}},{"path":"src/main/java/seedu/stocker/drugs/Drug.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker.drugs;","lastModifiedDate":"2023-10-08"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"public class Drug {","lastModifiedDate":"2023-10-08"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":" public String name;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":" String expiryDate;","lastModifiedDate":"2023-10-08"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":" Long quantity;","lastModifiedDate":"2023-10-08"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":" public Drug(String name, String expiryDate, Long quantity) {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" this.name \u003d name;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":" this.expiryDate \u003d expiryDate;","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":" this.quantity \u003d quantity;","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":14,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":16,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-08"}],"authorContributionMap":{"martinschnder":4,"TeoHaoZhi":12}},{"path":"src/main/java/seedu/stocker/drugs/Inventory.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.drugs;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"public class Inventory {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":" public ArrayList\u003cDrug\u003e allDrugs;","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":" public Inventory() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":" this.allDrugs \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":" public void addDrug(Drug drug) {","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":" this.allDrugs.add(drug);","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":16}},{"path":"src/main/java/seedu/stocker/exceptions/StockerException.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker.exceptions;","lastModifiedDate":"2023-10-08"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"public class StockerException extends Exception{","lastModifiedDate":"2023-10-08"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-08"}],"authorContributionMap":{"TeoHaoZhi":4}},{"path":"src/main/java/seedu/stocker/parser/Parser.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.parser;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"import java.util.regex.Matcher;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"import java.util.regex.Pattern;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.Command;","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.AddCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.ExitCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.HelpCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.IncorrectCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":"import static seedu.stocker.common.Messages.MESSAGE_INVALID_COMMAND_FORMAT;","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":"public class Parser {","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"martinschnder"},"content":" * Parses user input into command for execution.","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" * @param userInput full user input string","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":" * @return the command based on the user input","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":" public Command parseCommand(String userInput) {","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"martinschnder"},"content":" String[] words \u003d userInput.trim().split(\" \", 2); // split the input into command and arguments","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"martinschnder"},"content":" if (words.length \u003d\u003d 0) {","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"martinschnder"},"content":" return new IncorrectCommand(String.format(MESSAGE_INVALID_COMMAND_FORMAT, HelpCommand.MESSAGE_USAGE));","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"martinschnder"},"content":" final String commandWord \u003d words[0];","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"martinschnder"},"content":" final String arguments \u003d userInput.replaceFirst(commandWord, \"\").trim();","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"martinschnder"},"content":" switch (commandWord) {","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"martinschnder"},"content":" case AddCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"martinschnder"},"content":" return prepareAddCommand(arguments);","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":36,"author":{"gitId":"martinschnder"},"content":" case ExitCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"martinschnder"},"content":" return new ExitCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":38,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":39,"author":{"gitId":"martinschnder"},"content":" case HelpCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":40,"author":{"gitId":"martinschnder"},"content":" return new HelpCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":41,"author":{"gitId":"martinschnder"},"content":" default:","lastModifiedDate":"2023-10-09"},{"lineNumber":42,"author":{"gitId":"martinschnder"},"content":" return new IncorrectCommand(String.format(MESSAGE_INVALID_COMMAND_FORMAT, HelpCommand.MESSAGE_USAGE));","lastModifiedDate":"2023-10-09"},{"lineNumber":43,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":44,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":45,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":46,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":47,"author":{"gitId":"martinschnder"},"content":" * Parses arguments in the context of the add drug command.","lastModifiedDate":"2023-10-09"},{"lineNumber":48,"author":{"gitId":"martinschnder"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":49,"author":{"gitId":"martinschnder"},"content":" * @param args full command args string","lastModifiedDate":"2023-10-09"},{"lineNumber":50,"author":{"gitId":"martinschnder"},"content":" * @return the prepared command","lastModifiedDate":"2023-10-09"},{"lineNumber":51,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":52,"author":{"gitId":"martinschnder"},"content":" private Command prepareAddCommand(String args) {","lastModifiedDate":"2023-10-09"},{"lineNumber":53,"author":{"gitId":"martinschnder"},"content":" Pattern pattern \u003d Pattern.compile(\"/n (.*) /d (.*) /q (.*)\");","lastModifiedDate":"2023-10-09"},{"lineNumber":54,"author":{"gitId":"martinschnder"},"content":" Matcher matcher \u003d pattern.matcher(args);","lastModifiedDate":"2023-10-09"},{"lineNumber":55,"author":{"gitId":"martinschnder"},"content":" if (matcher.matches() \u0026\u0026 matcher.groupCount() \u003d\u003d 3) {","lastModifiedDate":"2023-10-09"},{"lineNumber":56,"author":{"gitId":"martinschnder"},"content":" String name \u003d matcher.group(1);","lastModifiedDate":"2023-10-09"},{"lineNumber":57,"author":{"gitId":"martinschnder"},"content":" String expiryDate \u003d matcher.group(2);","lastModifiedDate":"2023-10-09"},{"lineNumber":58,"author":{"gitId":"martinschnder"},"content":" Long quantity \u003d Long.parseLong(matcher.group(3));","lastModifiedDate":"2023-10-09"},{"lineNumber":59,"author":{"gitId":"martinschnder"},"content":" return new AddCommand(name, expiryDate, quantity);","lastModifiedDate":"2023-10-09"},{"lineNumber":60,"author":{"gitId":"martinschnder"},"content":" } else {","lastModifiedDate":"2023-10-09"},{"lineNumber":61,"author":{"gitId":"martinschnder"},"content":" return new IncorrectCommand(String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddCommand.MESSAGE_USAGE));","lastModifiedDate":"2023-10-09"},{"lineNumber":62,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":63,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":64,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":65,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":65}},{"path":"src/main/java/seedu/stocker/storage/Storage.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.storage;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"martinschnder"},"content":"public class Storage {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"martinschnder":4}},{"path":"src/main/java/seedu/stocker/ui/Ui.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.ui;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-10-08"},{"lineNumber":4,"author":{"gitId":"martinschnder"},"content":"import java.io.PrintStream;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"martinschnder"},"content":"import java.io.InputStream;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"martinschnder"},"content":"import java.util.Optional;","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"martinschnder"},"content":"import java.util.List;","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"martinschnder"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.drugs.Drug;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"martinschnder"},"content":"import seedu.stocker.commands.CommandResult;","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"martinschnder"},"content":"import static seedu.stocker.common.Messages.MESSAGE_WELCOME;","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"martinschnder"},"content":"import static seedu.stocker.common.Messages.MESSAGE_GOODBYE;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":16,"author":{"gitId":"TeoHaoZhi"},"content":"public class Ui {","lastModifiedDate":"2023-10-08"},{"lineNumber":17,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":18,"author":{"gitId":"martinschnder"},"content":" /** Offset required to convert between 1-indexing and 0-indexing. */","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"martinschnder"},"content":" public static final int DISPLAYED_INDEX_OFFSET \u003d 1;","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"martinschnder"},"content":" /** A decorative prefix added to the beginning of lines printed by Jerry */","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"martinschnder"},"content":" private static final String LINE_PREFIX \u003d \"|| \";","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"martinschnder"},"content":" private static final String DIVIDER \u003d \"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\";","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"martinschnder"},"content":" /** A platform independent line separator. */","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"martinschnder"},"content":" private static final String LS \u003d System.lineSeparator();","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"martinschnder"},"content":" /** Format of indexed list item */","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"martinschnder"},"content":" private static final String MESSAGE_INDEXED_LIST_ITEM \u003d \"\\t%1$d. %2$s\";","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"martinschnder"},"content":" private final Scanner in;","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"martinschnder"},"content":" private final PrintStream out;","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"TeoHaoZhi"},"content":" public Ui() {","lastModifiedDate":"2023-10-08"},{"lineNumber":36,"author":{"gitId":"martinschnder"},"content":" this(System.in, System.out);","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":38,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":39,"author":{"gitId":"martinschnder"},"content":" public Ui(InputStream in, PrintStream out) {","lastModifiedDate":"2023-10-09"},{"lineNumber":40,"author":{"gitId":"martinschnder"},"content":" this.in \u003d new Scanner(in);","lastModifiedDate":"2023-10-09"},{"lineNumber":41,"author":{"gitId":"martinschnder"},"content":" this.out \u003d out;","lastModifiedDate":"2023-10-09"},{"lineNumber":42,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":43,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":44,"author":{"gitId":"TeoHaoZhi"},"content":" public void printversion1Help(){","lastModifiedDate":"2023-10-08"},{"lineNumber":45,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"Here are a list of possible commands\");","lastModifiedDate":"2023-10-08"},{"lineNumber":46,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"1. add - Add a drug into the system\");","lastModifiedDate":"2023-10-08"},{"lineNumber":47,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"2. delete - Remove a drug from the system\");","lastModifiedDate":"2023-10-08"},{"lineNumber":48,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"3. list - List all current drugs in the system\");","lastModifiedDate":"2023-10-08"},{"lineNumber":49,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"4. find - Find a specific drug in the system\");","lastModifiedDate":"2023-10-08"},{"lineNumber":50,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"5. help - List all available commands\");","lastModifiedDate":"2023-10-08"},{"lineNumber":51,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":52,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println();","lastModifiedDate":"2023-10-08"},{"lineNumber":53,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println();","lastModifiedDate":"2023-10-08"},{"lineNumber":54,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":55,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"Here is the formatting for the commands\");","lastModifiedDate":"2023-10-08"},{"lineNumber":56,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":57,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"For add:\");","lastModifiedDate":"2023-10-08"},{"lineNumber":58,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"add /n \u003cdrug name\u003e /d \u003cexpiry date\u003e /q \u003cquantity\u003e\");","lastModifiedDate":"2023-10-08"},{"lineNumber":59,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println();","lastModifiedDate":"2023-10-08"},{"lineNumber":60,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":61,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"For delete:\");","lastModifiedDate":"2023-10-08"},{"lineNumber":62,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"delete /n \u003cdrug name\u003e\");","lastModifiedDate":"2023-10-08"},{"lineNumber":63,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println();","lastModifiedDate":"2023-10-08"},{"lineNumber":64,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":65,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":66,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"For list:\");","lastModifiedDate":"2023-10-08"},{"lineNumber":67,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"list\");","lastModifiedDate":"2023-10-08"},{"lineNumber":68,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println();","lastModifiedDate":"2023-10-08"},{"lineNumber":69,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":70,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":71,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"For find:\");","lastModifiedDate":"2023-10-08"},{"lineNumber":72,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"find \u003ckeyword\u003e\");","lastModifiedDate":"2023-10-08"},{"lineNumber":73,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println();","lastModifiedDate":"2023-10-08"},{"lineNumber":74,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":75,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":76,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"For help:\");","lastModifiedDate":"2023-10-08"},{"lineNumber":77,"author":{"gitId":"TeoHaoZhi"},"content":" System.out.println(\"help\");","lastModifiedDate":"2023-10-08"},{"lineNumber":78,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":79,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":80,"author":{"gitId":"TeoHaoZhi"},"content":" ","lastModifiedDate":"2023-10-08"},{"lineNumber":81,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":82,"author":{"gitId":"martinschnder"},"content":" * Prompts for the command and reads the text entered by the user.","lastModifiedDate":"2023-10-09"},{"lineNumber":83,"author":{"gitId":"martinschnder"},"content":" * Ignores empty, pure whitespace, and comment lines.","lastModifiedDate":"2023-10-09"},{"lineNumber":84,"author":{"gitId":"martinschnder"},"content":" * Echos the command back to the user.","lastModifiedDate":"2023-10-09"},{"lineNumber":85,"author":{"gitId":"martinschnder"},"content":" * @return command (full line) entered by the user","lastModifiedDate":"2023-10-09"},{"lineNumber":86,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":87,"author":{"gitId":"martinschnder"},"content":" public String getUserCommand() {","lastModifiedDate":"2023-10-09"},{"lineNumber":88,"author":{"gitId":"martinschnder"},"content":" out.print(LINE_PREFIX + \"Enter command: \");","lastModifiedDate":"2023-10-09"},{"lineNumber":89,"author":{"gitId":"martinschnder"},"content":" String fullInputLine \u003d in.nextLine();","lastModifiedDate":"2023-10-09"},{"lineNumber":90,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":91,"author":{"gitId":"martinschnder"},"content":" return fullInputLine;","lastModifiedDate":"2023-10-09"},{"lineNumber":92,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":93,"author":{"gitId":"TeoHaoZhi"},"content":" ","lastModifiedDate":"2023-10-08"},{"lineNumber":94,"author":{"gitId":"martinschnder"},"content":" /** Shows message(s) to the user */","lastModifiedDate":"2023-10-09"},{"lineNumber":95,"author":{"gitId":"martinschnder"},"content":" public void showToUser(String... message) {","lastModifiedDate":"2023-10-09"},{"lineNumber":96,"author":{"gitId":"martinschnder"},"content":" for (String m : message) {","lastModifiedDate":"2023-10-09"},{"lineNumber":97,"author":{"gitId":"martinschnder"},"content":" out.println(LINE_PREFIX + m.replace(\"\\n\", LS + LINE_PREFIX));","lastModifiedDate":"2023-10-09"},{"lineNumber":98,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":99,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":100,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":101,"author":{"gitId":"martinschnder"},"content":" public void showWelcomeMessage() {","lastModifiedDate":"2023-10-09"},{"lineNumber":102,"author":{"gitId":"martinschnder"},"content":" showToUser(MESSAGE_WELCOME, DIVIDER, DIVIDER);","lastModifiedDate":"2023-10-09"},{"lineNumber":103,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":104,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":105,"author":{"gitId":"martinschnder"},"content":" public void showGoodbyeMessage() {","lastModifiedDate":"2023-10-09"},{"lineNumber":106,"author":{"gitId":"martinschnder"},"content":" showToUser(MESSAGE_GOODBYE, DIVIDER, DIVIDER);","lastModifiedDate":"2023-10-09"},{"lineNumber":107,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":108,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":109,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":110,"author":{"gitId":"martinschnder"},"content":" * Shows the result of a command execution to the user. Includes additional formatting to demarcate different","lastModifiedDate":"2023-10-09"},{"lineNumber":111,"author":{"gitId":"martinschnder"},"content":" * command execution segments.","lastModifiedDate":"2023-10-09"},{"lineNumber":112,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":113,"author":{"gitId":"martinschnder"},"content":" public void showResultToUser(CommandResult result) {","lastModifiedDate":"2023-10-09"},{"lineNumber":114,"author":{"gitId":"martinschnder"},"content":" final Optional\u003cList\u003cDrug\u003e\u003e resultDrugs \u003d result.getRelevantDrugs();","lastModifiedDate":"2023-10-09"},{"lineNumber":115,"author":{"gitId":"martinschnder"},"content":" if (resultDrugs.isPresent()) {","lastModifiedDate":"2023-10-09"},{"lineNumber":116,"author":{"gitId":"martinschnder"},"content":" showDrugListView(resultDrugs.get());","lastModifiedDate":"2023-10-09"},{"lineNumber":117,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":118,"author":{"gitId":"martinschnder"},"content":" showToUser(result.feedbackToUser, DIVIDER);","lastModifiedDate":"2023-10-09"},{"lineNumber":119,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":120,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":121,"author":{"gitId":"martinschnder"},"content":" /** Shows a list of strings to the user, formatted as an indexed list. */","lastModifiedDate":"2023-10-09"},{"lineNumber":122,"author":{"gitId":"martinschnder"},"content":" private void showToUserAsIndexedList(List\u003cString\u003e list) {","lastModifiedDate":"2023-10-09"},{"lineNumber":123,"author":{"gitId":"martinschnder"},"content":" showToUser(getIndexedListForViewing(list));","lastModifiedDate":"2023-10-09"},{"lineNumber":124,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":125,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":126,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":127,"author":{"gitId":"martinschnder"},"content":" * Shows a list of drugs to the user, formatted as an indexed list.","lastModifiedDate":"2023-10-09"},{"lineNumber":128,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":129,"author":{"gitId":"martinschnder"},"content":" private void showDrugListView(List\u003cDrug\u003e drugs) {","lastModifiedDate":"2023-10-09"},{"lineNumber":130,"author":{"gitId":"martinschnder"},"content":" final List\u003cString\u003e formattedDrugs \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-10-09"},{"lineNumber":131,"author":{"gitId":"martinschnder"},"content":" for (Drug drug : drugs) {","lastModifiedDate":"2023-10-09"},{"lineNumber":132,"author":{"gitId":"martinschnder"},"content":" formattedDrugs.add(drug.toString());","lastModifiedDate":"2023-10-09"},{"lineNumber":133,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":134,"author":{"gitId":"martinschnder"},"content":" showToUserAsIndexedList(formattedDrugs);","lastModifiedDate":"2023-10-09"},{"lineNumber":135,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":136,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":137,"author":{"gitId":"martinschnder"},"content":" /** Formats a list of strings as a viewable indexed list. */","lastModifiedDate":"2023-10-09"},{"lineNumber":138,"author":{"gitId":"martinschnder"},"content":" private static String getIndexedListForViewing(List\u003cString\u003e listItems) {","lastModifiedDate":"2023-10-09"},{"lineNumber":139,"author":{"gitId":"martinschnder"},"content":" final StringBuilder formatted \u003d new StringBuilder();","lastModifiedDate":"2023-10-09"},{"lineNumber":140,"author":{"gitId":"martinschnder"},"content":" int displayIndex \u003d DISPLAYED_INDEX_OFFSET;","lastModifiedDate":"2023-10-09"},{"lineNumber":141,"author":{"gitId":"martinschnder"},"content":" for (String listItem : listItems) {","lastModifiedDate":"2023-10-09"},{"lineNumber":142,"author":{"gitId":"martinschnder"},"content":" formatted.append(getIndexedListItem(displayIndex, listItem)).append(\"\\n\");","lastModifiedDate":"2023-10-09"},{"lineNumber":143,"author":{"gitId":"martinschnder"},"content":" displayIndex++;","lastModifiedDate":"2023-10-09"},{"lineNumber":144,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":145,"author":{"gitId":"martinschnder"},"content":" return formatted.toString();","lastModifiedDate":"2023-10-09"},{"lineNumber":146,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":147,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":148,"author":{"gitId":"martinschnder"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":149,"author":{"gitId":"martinschnder"},"content":" * Formats a string as a viewable indexed list item.","lastModifiedDate":"2023-10-09"},{"lineNumber":150,"author":{"gitId":"martinschnder"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":151,"author":{"gitId":"martinschnder"},"content":" * @param visibleIndex visible index for this listing","lastModifiedDate":"2023-10-09"},{"lineNumber":152,"author":{"gitId":"martinschnder"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":153,"author":{"gitId":"martinschnder"},"content":" private static String getIndexedListItem(int visibleIndex, String listItem) {","lastModifiedDate":"2023-10-09"},{"lineNumber":154,"author":{"gitId":"martinschnder"},"content":" return String.format(MESSAGE_INDEXED_LIST_ITEM, visibleIndex, listItem);","lastModifiedDate":"2023-10-09"},{"lineNumber":155,"author":{"gitId":"martinschnder"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":156,"author":{"gitId":"martinschnder"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":157,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-08"}],"authorContributionMap":{"martinschnder":104,"TeoHaoZhi":53}},{"path":"src/test/java/seedu/stocker/StockerTest.java","fileType":"test-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker;","lastModifiedDate":"2023-10-08"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertTrue;","lastModifiedDate":"2020-05-24"},{"lineNumber":4,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2020-05-24"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":"class StockerTest {","lastModifiedDate":"2023-10-08"},{"lineNumber":8,"author":{"gitId":"-"},"content":" @Test","lastModifiedDate":"2020-05-24"},{"lineNumber":9,"author":{"gitId":"-"},"content":" public void sampleTest() {","lastModifiedDate":"2020-05-24"},{"lineNumber":10,"author":{"gitId":"-"},"content":" assertTrue(true);","lastModifiedDate":"2020-05-24"},{"lineNumber":11,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-24"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-24"}],"authorContributionMap":{"TeoHaoZhi":2,"-":10}},{"path":"src/test/java/seedu/stocker/commands/HelpCommandTest.java","fileType":"test-code","lines":[{"lineNumber":1,"author":{"gitId":"TeoHaoZhi"},"content":"package seedu.stocker.commands;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":"class HelpCommandTest {","lastModifiedDate":"2023-10-10"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":" @Test","lastModifiedDate":"2023-10-10"},{"lineNumber":9,"author":{"gitId":"TeoHaoZhi"},"content":" public void executeTest() {","lastModifiedDate":"2023-10-10"},{"lineNumber":10,"author":{"gitId":"TeoHaoZhi"},"content":" HelpCommand command \u003d new HelpCommand();","lastModifiedDate":"2023-10-10"},{"lineNumber":11,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":12,"author":{"gitId":"TeoHaoZhi"},"content":" String expectedOutput \u003d \"|| add: Adds a new drug to the drug list. Parameters: NAME, EXPIRY DATE, QUANTITY, \\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"TeoHaoZhi"},"content":" + \"|| Example: add /n Doliprane /d 12/06/2035 /q 52\\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"TeoHaoZhi"},"content":" + \"|| delete: Removes a drug from drug list. Parameters: Name \\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":" + \"|| Example: delete \u003cDrug Name\u003e\\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"TeoHaoZhi"},"content":" + \"|| help: Shows program usage instructions. \\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"TeoHaoZhi"},"content":" + \"|| Example: help\\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"TeoHaoZhi"},"content":" + \"|| list: Shows program usage instructions. \\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"TeoHaoZhi"},"content":" + \"|| Example: list\\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"TeoHaoZhi"},"content":" + \"|| find: Finds drug in inventory \\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"TeoHaoZhi"},"content":" + \"|| Example: find panadol\\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"TeoHaoZhi"},"content":" + \"|| bye: Exits the program.\\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":23,"author":{"gitId":"TeoHaoZhi"},"content":" + \"|| Example: bye\";","lastModifiedDate":"2023-10-10"},{"lineNumber":24,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":25,"author":{"gitId":"TeoHaoZhi"},"content":" assertEquals(expectedOutput, new CommandResult(expectedOutput).feedbackToUser);","lastModifiedDate":"2023-10-10"},{"lineNumber":26,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":27,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-10"}],"authorContributionMap":{"TeoHaoZhi":27}},{"path":"src/test/java/seedu/stocker/ui/UiTest.java","fileType":"test-code","lines":[{"lineNumber":1,"author":{"gitId":"martinschnder"},"content":"package seedu.stocker.ui;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":3,"author":{"gitId":"TeoHaoZhi"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-10-08"},{"lineNumber":4,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":5,"author":{"gitId":"TeoHaoZhi"},"content":"import java.io.ByteArrayOutputStream;","lastModifiedDate":"2023-10-08"},{"lineNumber":6,"author":{"gitId":"TeoHaoZhi"},"content":"import java.io.PrintStream;","lastModifiedDate":"2023-10-08"},{"lineNumber":7,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":8,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":9,"author":{"gitId":"TeoHaoZhi"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-10-08"},{"lineNumber":10,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":11,"author":{"gitId":"TeoHaoZhi"},"content":"class UiTest {","lastModifiedDate":"2023-10-08"},{"lineNumber":12,"author":{"gitId":"TeoHaoZhi"},"content":" @Test","lastModifiedDate":"2023-10-08"},{"lineNumber":13,"author":{"gitId":"TeoHaoZhi"},"content":" public void printVersion1HelpTest() {","lastModifiedDate":"2023-10-08"},{"lineNumber":14,"author":{"gitId":"TeoHaoZhi"},"content":" ByteArrayOutputStream outContent \u003d new ByteArrayOutputStream();","lastModifiedDate":"2023-10-08"},{"lineNumber":15,"author":{"gitId":"TeoHaoZhi"},"content":" System.setOut(new PrintStream(outContent));","lastModifiedDate":"2023-10-08"},{"lineNumber":16,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":17,"author":{"gitId":"TeoHaoZhi"},"content":" Ui toTest \u003d new Ui();","lastModifiedDate":"2023-10-08"},{"lineNumber":18,"author":{"gitId":"TeoHaoZhi"},"content":" toTest.printversion1Help();","lastModifiedDate":"2023-10-08"},{"lineNumber":19,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":20,"author":{"gitId":"TeoHaoZhi"},"content":" String expectedOutput \u003d \"Here are a list of possible commands\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":21,"author":{"gitId":"TeoHaoZhi"},"content":" + \"1. add - Add a drug into the system\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":22,"author":{"gitId":"TeoHaoZhi"},"content":" + \"2. delete - Remove a drug from the system\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":23,"author":{"gitId":"TeoHaoZhi"},"content":" + \"3. list - List all current drugs in the system\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":24,"author":{"gitId":"TeoHaoZhi"},"content":" + \"4. find - Find a specific drug in the system\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":25,"author":{"gitId":"TeoHaoZhi"},"content":" + \"5. help - List all available commands\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":26,"author":{"gitId":"TeoHaoZhi"},"content":" + System.getProperty(\"line.separator\") + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":27,"author":{"gitId":"TeoHaoZhi"},"content":" + \"Here is the formatting for the commands\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":28,"author":{"gitId":"TeoHaoZhi"},"content":" + \"For add:\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":29,"author":{"gitId":"TeoHaoZhi"},"content":" + \"add /n \u003cdrug name\u003e /d \u003cexpiry date\u003e /q \u003cquantity\u003e\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":30,"author":{"gitId":"TeoHaoZhi"},"content":" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":31,"author":{"gitId":"TeoHaoZhi"},"content":" + \"For delete:\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":32,"author":{"gitId":"TeoHaoZhi"},"content":" + \"delete /n \u003cdrug name\u003e\" + System.getProperty(\"line.separator\") + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":33,"author":{"gitId":"TeoHaoZhi"},"content":" + \"For list:\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":34,"author":{"gitId":"TeoHaoZhi"},"content":" + \"list\" + System.getProperty(\"line.separator\") + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":35,"author":{"gitId":"TeoHaoZhi"},"content":" + \"For find:\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":36,"author":{"gitId":"TeoHaoZhi"},"content":" + \"find \u003ckeyword\u003e\" + System.getProperty(\"line.separator\") + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":37,"author":{"gitId":"TeoHaoZhi"},"content":" + \"For help:\" + System.getProperty(\"line.separator\")","lastModifiedDate":"2023-10-08"},{"lineNumber":38,"author":{"gitId":"TeoHaoZhi"},"content":" + \"help\" + System.getProperty(\"line.separator\");","lastModifiedDate":"2023-10-08"},{"lineNumber":39,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":40,"author":{"gitId":"TeoHaoZhi"},"content":" assertEquals(expectedOutput, outContent.toString());","lastModifiedDate":"2023-10-08"},{"lineNumber":41,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":42,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":43,"author":{"gitId":"TeoHaoZhi"},"content":" }","lastModifiedDate":"2023-10-08"},{"lineNumber":44,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":45,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":46,"author":{"gitId":"TeoHaoZhi"},"content":"","lastModifiedDate":"2023-10-08"},{"lineNumber":47,"author":{"gitId":"TeoHaoZhi"},"content":"}","lastModifiedDate":"2023-10-08"}],"authorContributionMap":{"martinschnder":1,"TeoHaoZhi":46}}] diff --git a/AY2324S1-CS2113-T17-3_tp_master/commits.json b/AY2324S1-CS2113-T17-3_tp_master/commits.json index 9c49206..9548b8f 100644 --- a/AY2324S1-CS2113-T17-3_tp_master/commits.json +++ b/AY2324S1-CS2113-T17-3_tp_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"karishma-t":[{"date":"2023-10-05","commitResults":[{"hash":"9b179211347fe7a0942693aea92a880a72243999","isMergeCommit":false,"messageTitle":"Add files for Karishma about us","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":9,"deletions":4}}},{"hash":"ec15853438ef4adb88f2bbcc87f367804d35788d","isMergeCommit":false,"messageTitle":"Conflict resolution","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":2}}}]}],"martinschnder":[{"date":"2023-10-07","commitResults":[{"hash":"d13e4519f0e878a3e9be46a05a57ee90c57539c8","isMergeCommit":false,"messageTitle":"Add martin portofolio and picture and update about us","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":6,"deletions":1}}},{"hash":"2dbd0893fe8f3dac09ed84bb33c414c0e90c74e2","isMergeCommit":true,"messageTitle":"Merge pull request #12 from martinschnder/martin-AboutUs","messageBody":"Add martin portofolio and picture and update about us","fileTypesAndContributionMap":{}}]},{"date":"2023-10-09","commitResults":[{"hash":"eca592d2600d2253010eebbf55c4217a971ca79b","isMergeCommit":false,"messageTitle":"Updated build.gradle to match new main class name","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":2,"deletions":2}}},{"hash":"f9bf0f4dcbf0dc02f210e21283f8f18ddf745d2a","isMergeCommit":false,"messageTitle":"Reorganize files in various packages","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":21,"deletions":9},"other":{"insertions":2,"deletions":2}}},{"hash":"dd4cb2baf5df643afbefe71a963a78e7489a79b2","isMergeCommit":false,"messageTitle":"Create abstract command class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":14,"deletions":0}}},{"hash":"0a4ae29a7ca56b747974f29fc720e496c0cebaa3","isMergeCommit":false,"messageTitle":"Add the addclass and rename the druglist class to inventory","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":101,"deletions":19}}},{"hash":"9891fe1ce7e876b766da0e19a647588a3845d02d","isMergeCommit":false,"messageTitle":"Delete old file","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":14}}},{"hash":"c76880c8d3ba9f7555f17105e6689822950877aa","isMergeCommit":false,"messageTitle":"Implement ExitCommand and AddCommand","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":316,"deletions":18}}}]}],"azfarulmatin":[{"date":"2023-10-07","commitResults":[{"hash":"6c8ee942babd12a205caa1b7e098fcb6340f76a9","isMergeCommit":false,"messageTitle":"Update Azfarul About us","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":13,"deletions":7}}},{"hash":"05e7ef8ec96488ea4719dfc0372532fe8e5694de","isMergeCommit":true,"messageTitle":"Merge pull request #19 from azfarulmatin/master","messageBody":"Update Azfarul About us","fileTypesAndContributionMap":{}}]}],"TeoHaoZhi":[{"date":"2023-10-05","commitResults":[{"hash":"f2bef309abc1a31812e5cb92d52cc3edc1ea44c6","isMergeCommit":false,"messageTitle":"Update UserGuide.md to add theme","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":0}}},{"hash":"80b42e7c9d1a437ae8bed5f38e44c218f440f47c","isMergeCommit":true,"messageTitle":"Merge pull request #2 from Barbaracwx/Barbaracwx-AboutUs","messageBody":"Added Barbara.md","fileTypesAndContributionMap":{}},{"hash":"aa9ba0c6a59865a89b52a6f53b7df1df57bb99de","isMergeCommit":false,"messageTitle":"Add files for Hao Zhi\u0027s about us page","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":13,"deletions":7}}},{"hash":"78381da48ea0ab8048ffca83fc47af7dd59e458b","isMergeCommit":true,"messageTitle":"Merge branch \u0027HaoZhi-AboutUs\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"c0c3018bd7af6a34e46ede0867b55d0a498285ce","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into master","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"5034d288227d95c1a28ecc2359f1ea357dd3b437","isMergeCommit":true,"messageTitle":"Merge pull request #3 from TeoHaoZhi/master","messageBody":"Add HaoZhi\u0027s about us files","fileTypesAndContributionMap":{}},{"hash":"88803a7aec4b841305b2a7716850e466193ec107","isMergeCommit":false,"messageTitle":"Clean up UserGuide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":2}}}]},{"date":"2023-10-06","commitResults":[{"hash":"220ea22f86c3d933219eefa1ae6e0c2fabea1d44","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into karishma-AboutUs","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"800151596e695fdfd13c417def35fd80dc78fed4","isMergeCommit":true,"messageTitle":"Merge pull request #10 from karishma-t/karishma-AboutUs","messageBody":"Add Karishma about us","fileTypesAndContributionMap":{}},{"hash":"4a53af6054886017e9cf732a597960c970f202d4","isMergeCommit":false,"messageTitle":"Fix about us portfolio bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"eb792a86d1eb0fd6ea4e2bca18a1ed4e10c07661","isMergeCommit":true,"messageTitle":"Merge pull request #11 from TeoHaoZhi/master","messageBody":"Fix about us portfolio bug","fileTypesAndContributionMap":{}}]},{"date":"2023-10-08","commitResults":[{"hash":"090f7fd2112203bcd0f818c6a79ab83c1945118e","isMergeCommit":false,"messageTitle":"Rename classes","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":4,"deletions":4}}},{"hash":"cd37b8a6e9414c1fa24b68559ff23066fde03931","isMergeCommit":true,"messageTitle":"Merge pull request #23 from TeoHaoZhi/HaoZhi-TemplateAttempt2","messageBody":"Rename classes","fileTypesAndContributionMap":{}},{"hash":"293aa145c39d8d91f975a08e7f0c8f491234cd7e","isMergeCommit":false,"messageTitle":"Add dummy classes","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":24,"deletions":0}}},{"hash":"3d5504d42b2532eadb56b49ff210b09cdd50284c","isMergeCommit":true,"messageTitle":"Merge pull request #24 from TeoHaoZhi/HaoZhi-TemplateAttempt2","messageBody":"Add dummy classes","fileTypesAndContributionMap":{}},{"hash":"d842866453c774e4e7cb523fc0f6d99109564fbb","isMergeCommit":false,"messageTitle":"Add attributes to drug class","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":1,"deletions":1},"test-code":{"insertions":46,"deletions":20}}},{"hash":"7988e7aab82f83af8ed057426371bc9f8066e5c2","isMergeCommit":true,"messageTitle":"Merge pull request #25 from TeoHaoZhi/HaoZhi-TemplateAttempt2","messageBody":"Add attributes to drug class","fileTypesAndContributionMap":{}},{"hash":"1746b905d7c8f9941ce95abe0c601ed7a555d341","isMergeCommit":false,"messageTitle":"Add help feature to UI class","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":42,"deletions":1}}},{"hash":"227af0572b033254d6546284a0ee2f875a71c3a9","isMergeCommit":true,"messageTitle":"Merge pull request #26 from TeoHaoZhi/HaoZhi-TemplateAttempt2","messageBody":"Add help feature to UI class","fileTypesAndContributionMap":{}},{"hash":"7299b86db5d860ab190c91abd4c6962273b196cd","isMergeCommit":false,"messageTitle":"Add exit point for programme","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":58,"deletions":11},"other":{"insertions":0,"deletions":0},"test-code":{"insertions":0,"deletions":49}}},{"hash":"de4799c7421e4b4195b2576cd2425462d6a6fa0e","isMergeCommit":true,"messageTitle":"Merge pull request #27 from TeoHaoZhi/HaoZhi-TemplateAttempt2","messageBody":"Add exit point for programme","fileTypesAndContributionMap":{}},{"hash":"354c79d2f7cbb08fb7700ca95ef4ca362f2c172d","isMergeCommit":false,"messageTitle":"Refactor printing for help command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":29,"deletions":24}}},{"hash":"8ab6c94c4d553c98bdc4616b2841d95fea09e2e7","isMergeCommit":true,"messageTitle":"Merge pull request #28 from TeoHaoZhi/HaoZhi-TemplateAttempt2","messageBody":"Refactor printing for help command","fileTypesAndContributionMap":{}},{"hash":"5bf20560cb92c584383123cf1ba209e1943da17b","isMergeCommit":false,"messageTitle":"Add Junit test for help feature","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":13,"deletions":5},"test-code":{"insertions":47,"deletions":0}}},{"hash":"0cce6790d3939b1aa5f6309f8c81e87f8490dceb","isMergeCommit":true,"messageTitle":"Merge pull request #29 from TeoHaoZhi/HaoZhi-JUnitTestForHelpFeature","messageBody":"Add Junit test for help feature","fileTypesAndContributionMap":{}}]},{"date":"2023-10-09","commitResults":[{"hash":"44f897c607a7bf71459ce63ef7a22368d8374d2c","isMergeCommit":true,"messageTitle":"Merge pull request #30 from martinschnder/branch-AddCommand","messageBody":"Branch add command","fileTypesAndContributionMap":{}},{"hash":"38f4573bdbf922271274ff418303a83c5ba9778e","isMergeCommit":false,"messageTitle":"Add more class templates","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":82,"deletions":22}}},{"hash":"7ab218bb640ddf7a60822ecd133989bcd0d2a220","isMergeCommit":true,"messageTitle":"Merge pull request #31 from TeoHaoZhi/HaoZhi-ListCommandHelp","messageBody":"Add more class templates","fileTypesAndContributionMap":{}}]}],"Barbaracwx":[{"date":"2023-10-05","commitResults":[{"hash":"91e8e21dc2263c8657a5df7cb911512e24f1bf43","isMergeCommit":false,"messageTitle":"Added Barbara.md","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":13,"deletions":7}}}]}]},"authorFileTypeContributionMap":{"karishma-t":{"docs":6,"functional-code":0,"test-code":0},"martinschnder":{"docs":6,"functional-code":416,"test-code":1,"other":2},"azfarulmatin":{"docs":8,"functional-code":0,"test-code":0},"TeoHaoZhi":{"docs":11,"functional-code":153,"test-code":48},"Barbaracwx":{"docs":6,"functional-code":0,"test-code":0}},"authorContributionVariance":{"karishma-t":17.0,"martinschnder":14167.757,"azfarulmatin":20.987654,"TeoHaoZhi":7807.9043,"Barbaracwx":20.987652},"authorDisplayNameMap":{"karishma-t":"CS2113-T17-3 KARI..ARAN","martinschnder":"CS2113-T17-3 SCHN..ILLE","azfarulmatin":"CS2113-T17-3 AZFA..ANDI","TeoHaoZhi":"CS2113-T17-3 TEO .. ZHI","Barbaracwx":"CS2113-T17-3 CHON..BARA"}} +{"authorDailyContributionsMap":{"karishma-t":[{"date":"2023-10-05","commitResults":[{"hash":"9b179211347fe7a0942693aea92a880a72243999","isMergeCommit":false,"messageTitle":"Add files for Karishma about us","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":9,"deletions":4}}},{"hash":"ec15853438ef4adb88f2bbcc87f367804d35788d","isMergeCommit":false,"messageTitle":"Conflict resolution","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":3,"deletions":2}}}]}],"martinschnder":[{"date":"2023-10-07","commitResults":[{"hash":"d13e4519f0e878a3e9be46a05a57ee90c57539c8","isMergeCommit":false,"messageTitle":"Add martin portofolio and picture and update about us","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":6,"deletions":1}}},{"hash":"2dbd0893fe8f3dac09ed84bb33c414c0e90c74e2","isMergeCommit":true,"messageTitle":"Merge pull request #12 from martinschnder/martin-AboutUs","messageBody":"Add martin portofolio and picture and update about us","fileTypesAndContributionMap":{}}]},{"date":"2023-10-09","commitResults":[{"hash":"eca592d2600d2253010eebbf55c4217a971ca79b","isMergeCommit":false,"messageTitle":"Updated build.gradle to match new main class name","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":2,"deletions":2}}},{"hash":"f9bf0f4dcbf0dc02f210e21283f8f18ddf745d2a","isMergeCommit":false,"messageTitle":"Reorganize files in various packages","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":21,"deletions":9},"other":{"insertions":2,"deletions":2}}},{"hash":"dd4cb2baf5df643afbefe71a963a78e7489a79b2","isMergeCommit":false,"messageTitle":"Create abstract command class","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":14,"deletions":0}}},{"hash":"0a4ae29a7ca56b747974f29fc720e496c0cebaa3","isMergeCommit":false,"messageTitle":"Add the addclass and rename the druglist class to inventory","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":101,"deletions":19}}},{"hash":"9891fe1ce7e876b766da0e19a647588a3845d02d","isMergeCommit":false,"messageTitle":"Delete old file","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":14}}},{"hash":"c76880c8d3ba9f7555f17105e6689822950877aa","isMergeCommit":false,"messageTitle":"Implement ExitCommand and AddCommand","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":316,"deletions":18}}}]}],"azfarulmatin":[{"date":"2023-10-07","commitResults":[{"hash":"6c8ee942babd12a205caa1b7e098fcb6340f76a9","isMergeCommit":false,"messageTitle":"Update Azfarul About us","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":13,"deletions":7}}},{"hash":"05e7ef8ec96488ea4719dfc0372532fe8e5694de","isMergeCommit":true,"messageTitle":"Merge pull request #19 from azfarulmatin/master","messageBody":"Update Azfarul About us","fileTypesAndContributionMap":{}}]}],"TeoHaoZhi":[{"date":"2023-10-05","commitResults":[{"hash":"f2bef309abc1a31812e5cb92d52cc3edc1ea44c6","isMergeCommit":false,"messageTitle":"Update UserGuide.md to add theme","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":0}}},{"hash":"80b42e7c9d1a437ae8bed5f38e44c218f440f47c","isMergeCommit":true,"messageTitle":"Merge pull request #2 from Barbaracwx/Barbaracwx-AboutUs","messageBody":"Added Barbara.md","fileTypesAndContributionMap":{}},{"hash":"aa9ba0c6a59865a89b52a6f53b7df1df57bb99de","isMergeCommit":false,"messageTitle":"Add files for Hao Zhi\u0027s about us page","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":13,"deletions":7}}},{"hash":"78381da48ea0ab8048ffca83fc47af7dd59e458b","isMergeCommit":true,"messageTitle":"Merge branch \u0027HaoZhi-AboutUs\u0027","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"c0c3018bd7af6a34e46ede0867b55d0a498285ce","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into master","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"5034d288227d95c1a28ecc2359f1ea357dd3b437","isMergeCommit":true,"messageTitle":"Merge pull request #3 from TeoHaoZhi/master","messageBody":"Add HaoZhi\u0027s about us files","fileTypesAndContributionMap":{}},{"hash":"88803a7aec4b841305b2a7716850e466193ec107","isMergeCommit":false,"messageTitle":"Clean up UserGuide","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":0,"deletions":2}}}]},{"date":"2023-10-06","commitResults":[{"hash":"220ea22f86c3d933219eefa1ae6e0c2fabea1d44","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into karishma-AboutUs","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"800151596e695fdfd13c417def35fd80dc78fed4","isMergeCommit":true,"messageTitle":"Merge pull request #10 from karishma-t/karishma-AboutUs","messageBody":"Add Karishma about us","fileTypesAndContributionMap":{}},{"hash":"4a53af6054886017e9cf732a597960c970f202d4","isMergeCommit":false,"messageTitle":"Fix about us portfolio bug","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":2}}},{"hash":"eb792a86d1eb0fd6ea4e2bca18a1ed4e10c07661","isMergeCommit":true,"messageTitle":"Merge pull request #11 from TeoHaoZhi/master","messageBody":"Fix about us portfolio bug","fileTypesAndContributionMap":{}}]},{"date":"2023-10-08","commitResults":[{"hash":"090f7fd2112203bcd0f818c6a79ab83c1945118e","isMergeCommit":false,"messageTitle":"Rename classes","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":4,"deletions":4}}},{"hash":"cd37b8a6e9414c1fa24b68559ff23066fde03931","isMergeCommit":true,"messageTitle":"Merge pull request #23 from TeoHaoZhi/HaoZhi-TemplateAttempt2","messageBody":"Rename classes","fileTypesAndContributionMap":{}},{"hash":"293aa145c39d8d91f975a08e7f0c8f491234cd7e","isMergeCommit":false,"messageTitle":"Add dummy classes","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":24,"deletions":0}}},{"hash":"3d5504d42b2532eadb56b49ff210b09cdd50284c","isMergeCommit":true,"messageTitle":"Merge pull request #24 from TeoHaoZhi/HaoZhi-TemplateAttempt2","messageBody":"Add dummy classes","fileTypesAndContributionMap":{}},{"hash":"d842866453c774e4e7cb523fc0f6d99109564fbb","isMergeCommit":false,"messageTitle":"Add attributes to drug class","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":1,"deletions":1},"test-code":{"insertions":46,"deletions":20}}},{"hash":"7988e7aab82f83af8ed057426371bc9f8066e5c2","isMergeCommit":true,"messageTitle":"Merge pull request #25 from TeoHaoZhi/HaoZhi-TemplateAttempt2","messageBody":"Add attributes to drug class","fileTypesAndContributionMap":{}},{"hash":"1746b905d7c8f9941ce95abe0c601ed7a555d341","isMergeCommit":false,"messageTitle":"Add help feature to UI class","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":42,"deletions":1}}},{"hash":"227af0572b033254d6546284a0ee2f875a71c3a9","isMergeCommit":true,"messageTitle":"Merge pull request #26 from TeoHaoZhi/HaoZhi-TemplateAttempt2","messageBody":"Add help feature to UI class","fileTypesAndContributionMap":{}},{"hash":"7299b86db5d860ab190c91abd4c6962273b196cd","isMergeCommit":false,"messageTitle":"Add exit point for programme","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":58,"deletions":11},"other":{"insertions":0,"deletions":0},"test-code":{"insertions":0,"deletions":49}}},{"hash":"de4799c7421e4b4195b2576cd2425462d6a6fa0e","isMergeCommit":true,"messageTitle":"Merge pull request #27 from TeoHaoZhi/HaoZhi-TemplateAttempt2","messageBody":"Add exit point for programme","fileTypesAndContributionMap":{}},{"hash":"354c79d2f7cbb08fb7700ca95ef4ca362f2c172d","isMergeCommit":false,"messageTitle":"Refactor printing for help command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":29,"deletions":24}}},{"hash":"8ab6c94c4d553c98bdc4616b2841d95fea09e2e7","isMergeCommit":true,"messageTitle":"Merge pull request #28 from TeoHaoZhi/HaoZhi-TemplateAttempt2","messageBody":"Refactor printing for help command","fileTypesAndContributionMap":{}},{"hash":"5bf20560cb92c584383123cf1ba209e1943da17b","isMergeCommit":false,"messageTitle":"Add Junit test for help feature","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":13,"deletions":5},"test-code":{"insertions":47,"deletions":0}}},{"hash":"0cce6790d3939b1aa5f6309f8c81e87f8490dceb","isMergeCommit":true,"messageTitle":"Merge pull request #29 from TeoHaoZhi/HaoZhi-JUnitTestForHelpFeature","messageBody":"Add Junit test for help feature","fileTypesAndContributionMap":{}}]},{"date":"2023-10-09","commitResults":[{"hash":"44f897c607a7bf71459ce63ef7a22368d8374d2c","isMergeCommit":true,"messageTitle":"Merge pull request #30 from martinschnder/branch-AddCommand","messageBody":"Branch add command","fileTypesAndContributionMap":{}},{"hash":"38f4573bdbf922271274ff418303a83c5ba9778e","isMergeCommit":false,"messageTitle":"Add more class templates","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":82,"deletions":22}}},{"hash":"7ab218bb640ddf7a60822ecd133989bcd0d2a220","isMergeCommit":true,"messageTitle":"Merge pull request #31 from TeoHaoZhi/HaoZhi-ListCommandHelp","messageBody":"Add more class templates","fileTypesAndContributionMap":{}}]},{"date":"2023-10-10","commitResults":[{"hash":"e366c56327163c3ebdcc63a2889b90ea43218e50","isMergeCommit":false,"messageTitle":"Update userguide markdown file","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":154,"deletions":12}}},{"hash":"67f9f7118ed7fe8c06884e7757e87e6c634fa6d8","isMergeCommit":true,"messageTitle":"Merge pull request #32 from TeoHaoZhi/HaoZhi-UserGuideUpdateV1.0","messageBody":"Update userguide markdown file","fileTypesAndContributionMap":{}},{"hash":"b6fd34963d346c40de9d71cb9ea43699a14d4b8d","isMergeCommit":false,"messageTitle":"Update README","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":2}}},{"hash":"a3f768d82e7036ec93e0543e7c2db1847279aa1c","isMergeCommit":true,"messageTitle":"Merge pull request #33 from TeoHaoZhi/HaoZhi-ReadMe","messageBody":"Update README","fileTypesAndContributionMap":{}},{"hash":"dc4311ad9d1840486a71ba7958140542108c093a","isMergeCommit":false,"messageTitle":"Add Junit test for help command","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":29,"deletions":0}}},{"hash":"324c68f05643be382892df3fec2ec0d7ea16d361","isMergeCommit":false,"messageTitle":"Fix checkstyle violation","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":3,"deletions":5}}},{"hash":"7a54cf286c00c3cf7864d2bc4859e14c0e4c9a4d","isMergeCommit":true,"messageTitle":"Merge pull request #35 from TeoHaoZhi/HaoZhi-JUnitTestForHelpFeature","messageBody":"Add Junit test for help command","fileTypesAndContributionMap":{}}]}],"Barbaracwx":[{"date":"2023-10-05","commitResults":[{"hash":"91e8e21dc2263c8657a5df7cb911512e24f1bf43","isMergeCommit":false,"messageTitle":"Added Barbara.md","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":13,"deletions":7}}}]}]},"authorFileTypeContributionMap":{"karishma-t":{"docs":6,"functional-code":0,"test-code":0},"martinschnder":{"docs":6,"functional-code":416,"test-code":1,"other":2},"azfarulmatin":{"docs":8,"functional-code":0,"test-code":0},"TeoHaoZhi":{"docs":165,"functional-code":153,"test-code":75},"Barbaracwx":{"docs":6,"functional-code":0,"test-code":0}},"authorContributionVariance":{"karishma-t":16.155128,"martinschnder":13464.825,"azfarulmatin":19.9446,"TeoHaoZhi":9041.523,"Barbaracwx":19.944597},"authorDisplayNameMap":{"karishma-t":"CS2113-T17-3 KARI..ARAN","martinschnder":"CS2113-T17-3 SCHN..ILLE","azfarulmatin":"CS2113-T17-3 AZFA..ANDI","TeoHaoZhi":"CS2113-T17-3 TEO .. ZHI","Barbaracwx":"CS2113-T17-3 CHON..BARA"}} diff --git a/AY2324S1-CS2113-W12-2_tp_master/authorship.json b/AY2324S1-CS2113-W12-2_tp_master/authorship.json index 529d9f5..aa0bc93 100644 --- a/AY2324S1-CS2113-W12-2_tp_master/authorship.json +++ b/AY2324S1-CS2113-W12-2_tp_master/authorship.json @@ -1 +1 @@ -[{"path":"docs/AboutUs.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# About us","lastModifiedDate":"2020-05-24"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"WooKaiNing"},"content":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d","lastModifiedDate":"2023-10-04"},{"lineNumber":4,"author":{"gitId":"-"},"content":"Display | Name | Github Profile | Portfolio ","lastModifiedDate":"2020-05-24"},{"lineNumber":5,"author":{"gitId":"BenedictChannn"},"content":"--------|:-----------------:|:--------------:|:---------:","lastModifiedDate":"2023-10-04"},{"lineNumber":6,"author":{"gitId":"mcmc101001"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Ming Chun | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":7,"author":{"gitId":"Xuan127"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Shan YuXuan | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":8,"author":{"gitId":"danielpappa"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Daniel Pappalardo | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":9,"author":{"gitId":"BenedictChannn"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Benedict Chan | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":10,"author":{"gitId":"WooKaiNing"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Kai Ning | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"}],"authorContributionMap":{"Xuan127":1,"danielpappa":1,"mcmc101001":1,"BenedictChannn":2,"-":3,"WooKaiNing":2}}] +[{"path":"build.gradle","fileType":"other","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"plugins {","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":" id \u0027java\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":" id \u0027application\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":" id \u0027checkstyle\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2022-06-17"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":14,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"mcmc101001"},"content":" mainClass.set(\"cashleh.CashLeh\")","lastModifiedDate":"2023-10-10"},{"lineNumber":33,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"mcmc101001"},"content":" archiveBaseName.set(\"cashleh\")","lastModifiedDate":"2023-10-10"},{"lineNumber":37,"author":{"gitId":"-"},"content":" archiveClassifier.set(\"\")","lastModifiedDate":"2023-09-24"},{"lineNumber":38,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":"checkstyle {","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":" toolVersion \u003d \u002710.2\u0027","lastModifiedDate":"2022-04-29"},{"lineNumber":42,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":43,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":44,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":45,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":46,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"mcmc101001":2,"-":44}},{"path":"docs/AboutUs.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# About us","lastModifiedDate":"2020-05-24"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"WooKaiNing"},"content":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d","lastModifiedDate":"2023-10-04"},{"lineNumber":4,"author":{"gitId":"-"},"content":"Display | Name | Github Profile | Portfolio ","lastModifiedDate":"2020-05-24"},{"lineNumber":5,"author":{"gitId":"BenedictChannn"},"content":"--------|:-----------------:|:--------------:|:---------:","lastModifiedDate":"2023-10-04"},{"lineNumber":6,"author":{"gitId":"mcmc101001"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Ming Chun | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":7,"author":{"gitId":"Xuan127"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Shan YuXuan | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":8,"author":{"gitId":"danielpappa"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Daniel Pappalardo | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":9,"author":{"gitId":"BenedictChannn"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Benedict Chan | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":10,"author":{"gitId":"WooKaiNing"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Kai Ning | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"}],"authorContributionMap":{"Xuan127":1,"danielpappa":1,"mcmc101001":1,"BenedictChannn":2,"-":3,"WooKaiNing":2}},{"path":"docs/DeveloperGuide.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# Developer Guide","lastModifiedDate":"2020-05-24"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"-"},"content":"## Acknowledgements","lastModifiedDate":"2020-05-24"},{"lineNumber":4,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":5,"author":{"gitId":"-"},"content":"{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well}","lastModifiedDate":"2020-05-24"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":7,"author":{"gitId":"-"},"content":"## Design \u0026 implementation","lastModifiedDate":"2020-05-24"},{"lineNumber":8,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":9,"author":{"gitId":"-"},"content":"{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}","lastModifiedDate":"2020-05-24"},{"lineNumber":10,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":12,"author":{"gitId":"-"},"content":"## Product scope","lastModifiedDate":"2020-05-24"},{"lineNumber":13,"author":{"gitId":"-"},"content":"### Target user profile","lastModifiedDate":"2020-05-24"},{"lineNumber":14,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":15,"author":{"gitId":"-"},"content":"{Describe the target user profile}","lastModifiedDate":"2020-05-24"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":17,"author":{"gitId":"-"},"content":"### Value proposition","lastModifiedDate":"2020-05-24"},{"lineNumber":18,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":19,"author":{"gitId":"-"},"content":"{Describe the value proposition: what problem does it solve?}","lastModifiedDate":"2020-05-24"},{"lineNumber":20,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":21,"author":{"gitId":"-"},"content":"## User Stories","lastModifiedDate":"2020-05-24"},{"lineNumber":22,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":23,"author":{"gitId":"-"},"content":"|Version| As a ... | I want to ... | So that I can ... |","lastModifiedDate":"2020-05-24"},{"lineNumber":24,"author":{"gitId":"danielpappa"},"content":"|--------|----------|-------------------------------------------|--------------------------------------------------------------|","lastModifiedDate":"2023-10-10"},{"lineNumber":25,"author":{"gitId":"-"},"content":"|v1.0|new user| see usage instructions | refer to them when I forget how to use the application |","lastModifiedDate":"2020-05-24"},{"lineNumber":26,"author":{"gitId":"danielpappa"},"content":"|v1.0|new user| be able to add my incomes and earnings | easily manage them and obtain access to an overview |","lastModifiedDate":"2023-10-10"},{"lineNumber":27,"author":{"gitId":"danielpappa"},"content":"|v1.0|new user| be able to delete my incomes and earnings | correct any mistakes |","lastModifiedDate":"2023-10-10"},{"lineNumber":28,"author":{"gitId":"danielpappa"},"content":"|v1.0|new user| be able to view the sum of my incomes | be fully aware of my financial situation and manage my money |","lastModifiedDate":"2023-10-10"},{"lineNumber":29,"author":{"gitId":"-"},"content":"|v2.0|user| find a to-do item by name | locate a to-do without having to go through the entire list |","lastModifiedDate":"2020-05-24"},{"lineNumber":30,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":31,"author":{"gitId":"-"},"content":"## Non-Functional Requirements","lastModifiedDate":"2020-05-24"},{"lineNumber":32,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":33,"author":{"gitId":"-"},"content":"{Give non-functional requirements}","lastModifiedDate":"2020-05-24"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":35,"author":{"gitId":"-"},"content":"## Glossary","lastModifiedDate":"2020-05-24"},{"lineNumber":36,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":37,"author":{"gitId":"-"},"content":"* *glossary item* - Definition","lastModifiedDate":"2020-05-24"},{"lineNumber":38,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":39,"author":{"gitId":"-"},"content":"## Instructions for manual testing","lastModifiedDate":"2020-05-24"},{"lineNumber":40,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":41,"author":{"gitId":"-"},"content":"{Give instructions on how to do a manual product testing e.g., how to load sample data to be used for testing}","lastModifiedDate":"2020-05-24"}],"authorContributionMap":{"danielpappa":4,"-":37}},{"path":"docs/UserGuide.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# User Guide","lastModifiedDate":"2020-05-24"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"-"},"content":"## Introduction","lastModifiedDate":"2020-05-24"},{"lineNumber":4,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":5,"author":{"gitId":"danielpappa"},"content":"CashLeh? is a CLI application mainly supporting working adults and students who struggle with managing finances","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"danielpappa"},"content":"(ranging from one-time and recurring expenses, to rent, utilities, interest rates and more). It allows them to track","lastModifiedDate":"2023-10-10"},{"lineNumber":7,"author":{"gitId":"danielpappa"},"content":"both their earnings and spending habits in a seamless way to have a neat overview of their financial ","lastModifiedDate":"2023-10-10"},{"lineNumber":8,"author":{"gitId":"danielpappa"},"content":"situation.","lastModifiedDate":"2023-10-10"},{"lineNumber":9,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":10,"author":{"gitId":"-"},"content":"## Quick Start","lastModifiedDate":"2020-05-24"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":12,"author":{"gitId":"-"},"content":"{Give steps to get started quickly}","lastModifiedDate":"2020-05-24"},{"lineNumber":13,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":14,"author":{"gitId":"-"},"content":"1. Ensure that you have Java 11 or above installed.","lastModifiedDate":"2020-05-24"},{"lineNumber":15,"author":{"gitId":"-"},"content":"1. Down the latest version of `Duke` from [here](http://link.to/duke).","lastModifiedDate":"2020-05-24"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":17,"author":{"gitId":"-"},"content":"## Features ","lastModifiedDate":"2020-05-24"},{"lineNumber":18,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":19,"author":{"gitId":"-"},"content":"{Give detailed description of each feature}","lastModifiedDate":"2020-05-24"},{"lineNumber":20,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":21,"author":{"gitId":"danielpappa"},"content":"### Adding an income: `addIncome`","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"danielpappa"},"content":"Adds an income with a description, amount and date.","lastModifiedDate":"2023-10-10"},{"lineNumber":23,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":24,"author":{"gitId":"danielpappa"},"content":"Format: `addIncome DESCRIPTION /amtAMOUNT /dDATE`","lastModifiedDate":"2023-10-10"},{"lineNumber":25,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":26,"author":{"gitId":"danielpappa"},"content":"* The `DESCRIPTION` cannot contain punctuation or any special characters.","lastModifiedDate":"2023-10-10"},{"lineNumber":27,"author":{"gitId":"danielpappa"},"content":"* The `AMOUNT` must be a positive number.","lastModifiedDate":"2023-10-10"},{"lineNumber":28,"author":{"gitId":"danielpappa"},"content":"* The `DATE` must be of format \"yyyy-MM-dd\".","lastModifiedDate":"2023-10-10"},{"lineNumber":29,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":30,"author":{"gitId":"-"},"content":"Example of usage: ","lastModifiedDate":"2020-05-24"},{"lineNumber":31,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":32,"author":{"gitId":"danielpappa"},"content":"`addIncome monthly salary /amt2500 /d2023-09-30`","lastModifiedDate":"2023-10-10"},{"lineNumber":33,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":34,"author":{"gitId":"danielpappa"},"content":"`addIncome amazon purchase refund /amt50 /d2023-10-10`","lastModifiedDate":"2023-10-10"},{"lineNumber":35,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":36,"author":{"gitId":"danielpappa"},"content":"### Deleting an income: `deleteIncome`","lastModifiedDate":"2023-10-10"},{"lineNumber":37,"author":{"gitId":"danielpappa"},"content":"Deletes an income with a specific index.","lastModifiedDate":"2023-10-10"},{"lineNumber":38,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":39,"author":{"gitId":"danielpappa"},"content":"Format: `deleteIncome INDEX`","lastModifiedDate":"2023-10-10"},{"lineNumber":40,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":41,"author":{"gitId":"danielpappa"},"content":"* The `INDEX` must be a positive integer and cannot be larger than the number of income entries.","lastModifiedDate":"2023-10-10"},{"lineNumber":42,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":43,"author":{"gitId":"danielpappa"},"content":"Example of usage:","lastModifiedDate":"2023-10-10"},{"lineNumber":44,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":45,"author":{"gitId":"danielpappa"},"content":"`deleteIncome 4`","lastModifiedDate":"2023-10-10"},{"lineNumber":46,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":47,"author":{"gitId":"danielpappa"},"content":"### Viewing previous incomes: `viewIncomes`","lastModifiedDate":"2023-10-10"},{"lineNumber":48,"author":{"gitId":"danielpappa"},"content":"Shows sum of incomes and lists each income record with its description and amount. ","lastModifiedDate":"2023-10-10"},{"lineNumber":49,"author":{"gitId":"danielpappa"},"content":"Format: `viewIncomes` ","lastModifiedDate":"2023-10-10"},{"lineNumber":50,"author":{"gitId":"danielpappa"},"content":"* Anything following the command will be ignored, i.e. `viewIncomes overview` will be interpreted just like `viewIncomes`.","lastModifiedDate":"2023-10-10"},{"lineNumber":51,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":52,"author":{"gitId":"danielpappa"},"content":"Example of usage:","lastModifiedDate":"2023-10-10"},{"lineNumber":53,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":54,"author":{"gitId":"danielpappa"},"content":"`viewIncomes`","lastModifiedDate":"2023-10-10"},{"lineNumber":55,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":56,"author":{"gitId":"-"},"content":"## FAQ","lastModifiedDate":"2020-05-24"},{"lineNumber":57,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":58,"author":{"gitId":"-"},"content":"**Q**: How do I transfer my data to another computer? ","lastModifiedDate":"2020-05-24"},{"lineNumber":59,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":60,"author":{"gitId":"-"},"content":"**A**: {your answer here}","lastModifiedDate":"2020-05-24"},{"lineNumber":61,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":62,"author":{"gitId":"-"},"content":"## Command Summary","lastModifiedDate":"2020-05-24"},{"lineNumber":63,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":64,"author":{"gitId":"-"},"content":"{Give a \u0027cheat sheet\u0027 of commands here}","lastModifiedDate":"2020-05-24"},{"lineNumber":65,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":66,"author":{"gitId":"danielpappa"},"content":"* Add income `addIncome monthly salary /amt2500 /d2023-09-30`","lastModifiedDate":"2023-10-10"},{"lineNumber":67,"author":{"gitId":"danielpappa"},"content":"* Delete income `deleteIncome 4`","lastModifiedDate":"2023-10-10"},{"lineNumber":68,"author":{"gitId":"danielpappa"},"content":"* View incomes `viewIncomes`","lastModifiedDate":"2023-10-10"}],"authorContributionMap":{"danielpappa":35,"-":33}},{"path":"src/main/java/cashleh/CashLeh.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"mcmc101001"},"content":"package cashleh;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"mcmc101001"},"content":"public class CashLeh {","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"mcmc101001"},"content":" private final Ui ui \u003d new Ui();","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"Xuan127"},"content":" private final Input input \u003d new Input();","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"-"},"content":" /**","lastModifiedDate":"2020-05-24"},{"lineNumber":7,"author":{"gitId":"mcmc101001"},"content":" * Main entry-point for the application.","lastModifiedDate":"2023-10-10"},{"lineNumber":8,"author":{"gitId":"-"},"content":" */","lastModifiedDate":"2020-05-24"},{"lineNumber":9,"author":{"gitId":"mcmc101001"},"content":" public void run() {","lastModifiedDate":"2023-10-10"},{"lineNumber":10,"author":{"gitId":"mcmc101001"},"content":" ","lastModifiedDate":"2023-10-10"},{"lineNumber":11,"author":{"gitId":"Xuan127"},"content":" String logo \u003d \" ______ __ __ __ ___ \\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":12,"author":{"gitId":"Xuan127"},"content":" + \" / ____/___ ______/ /_ / / ___ / /_/__ \\\\ \\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"Xuan127"},"content":" + \" / / / __ `/ ___/ __ \\\\/ / / _ \\\\/ __ \\\\/ _/ \\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"Xuan127"},"content":" + \" / /___/ /_/ (__ ) / / / /___/ __/ / / /_/ \\n\"","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"Xuan127"},"content":" + \" \\\\____/\\\\__,_/____/_/ /_/_____/\\\\___/_/ /_(_) \\n\";","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"Xuan127"},"content":" System.out.println(\"Here is the link to the user guide:\"","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"Xuan127"},"content":" + \"https://docs.google.com/document/d/\"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"Xuan127"},"content":" + \"15h45BB5kMkTZ6bkwUHujpYwxVVl80tNEyNUsEVyk5AQ/edit?usp\u003ddrive_link\");","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"Xuan127"},"content":" System.out.println(logo);","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"Xuan127"},"content":" System.out.println(\"Welcome to \u0027CashLeh?\u0027! Your one-stop app for managing your finances!\");","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"Xuan127"},"content":" String[] greetingLines \u003d {\"What is your name?\"};","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":23,"author":{"gitId":"Xuan127"},"content":" ui.printMultipleText(greetingLines);","lastModifiedDate":"2023-10-10"},{"lineNumber":24,"author":{"gitId":"Xuan127"},"content":" String inputString \u003d input.getInputString();","lastModifiedDate":"2023-10-10"},{"lineNumber":25,"author":{"gitId":"Xuan127"},"content":" ui.printText(\"Hello \" + inputString);","lastModifiedDate":"2023-10-10"},{"lineNumber":26,"author":{"gitId":"Xuan127"},"content":" do {","lastModifiedDate":"2023-10-10"},{"lineNumber":27,"author":{"gitId":"Xuan127"},"content":" inputString \u003d input.getInputString();","lastModifiedDate":"2023-10-10"},{"lineNumber":28,"author":{"gitId":"Xuan127"},"content":" if (inputString.equals(\"bye\")) {","lastModifiedDate":"2023-10-10"},{"lineNumber":29,"author":{"gitId":"Xuan127"},"content":" ui.printText(\"Bye. Hope to see you again soon!\");","lastModifiedDate":"2023-10-10"},{"lineNumber":30,"author":{"gitId":"Xuan127"},"content":" } else {","lastModifiedDate":"2023-10-10"},{"lineNumber":31,"author":{"gitId":"Xuan127"},"content":" ui.printText(\"Sorry, I don\u0027t understand what you mean.\");","lastModifiedDate":"2023-10-10"},{"lineNumber":32,"author":{"gitId":"Xuan127"},"content":" } ","lastModifiedDate":"2023-10-10"},{"lineNumber":33,"author":{"gitId":"Xuan127"},"content":" } while (!inputString.equals(\"bye\"));","lastModifiedDate":"2023-10-10"},{"lineNumber":34,"author":{"gitId":"mcmc101001"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":35,"author":{"gitId":"Xuan127"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":36,"author":{"gitId":"mcmc101001"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-10-10"},{"lineNumber":37,"author":{"gitId":"mcmc101001"},"content":" new CashLeh().run();","lastModifiedDate":"2023-10-10"},{"lineNumber":38,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2019-07-29"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2019-07-29"}],"authorContributionMap":{"Xuan127":24,"mcmc101001":9,"-":6}},{"path":"src/main/java/cashleh/Income.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"danielpappa"},"content":"package cashleh;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"danielpappa"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"danielpappa"},"content":"public class Income {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"danielpappa"},"content":" protected int amount;","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"danielpappa"},"content":" protected int totalIncome \u003d 0; // sum of all incomes","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"danielpappa"},"content":" protected String description;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"danielpappa"},"content":" protected String currency; // SGD by default","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"danielpappa"},"content":" protected LocalDate date;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"danielpappa"},"content":" protected boolean isOneTimeIncome; // true by default","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"danielpappa"},"content":" public Income(int amount, String description, LocalDate date) {","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"danielpappa"},"content":" this.amount \u003d amount;","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"danielpappa"},"content":" this.description \u003d description;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"danielpappa"},"content":" this.date \u003d date;","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"danielpappa"},"content":" this.currency \u003d \"S$\";","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"danielpappa"},"content":" this.isOneTimeIncome \u003d true;","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"danielpappa"},"content":" this.totalIncome +\u003d amount;","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"danielpappa"},"content":" public int getAmount() {","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"danielpappa"},"content":" return this.amount;","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"danielpappa"},"content":" public void setAmount(int amount) {","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"danielpappa"},"content":" this.amount \u003d amount;","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"danielpappa"},"content":" public int getTotalIncome() {","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"danielpappa"},"content":" return this.totalIncome;","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"danielpappa"},"content":" public String getDescription() {","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"danielpappa"},"content":" return this.description;","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"danielpappa"},"content":" public void setDescription(String description) {","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"danielpappa"},"content":" this.description \u003d description;","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"danielpappa"},"content":" public LocalDate getDate() {","lastModifiedDate":"2023-10-09"},{"lineNumber":36,"author":{"gitId":"danielpappa"},"content":" return this.date;","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":38,"author":{"gitId":"danielpappa"},"content":" public void setDate(LocalDate date) {","lastModifiedDate":"2023-10-09"},{"lineNumber":39,"author":{"gitId":"danielpappa"},"content":" this.date \u003d date;","lastModifiedDate":"2023-10-09"},{"lineNumber":40,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":41,"author":{"gitId":"danielpappa"},"content":" public String isOneTimeIncome() {","lastModifiedDate":"2023-10-09"},{"lineNumber":42,"author":{"gitId":"danielpappa"},"content":" return (isOneTimeIncome ? \"One time\" : \"Recurring\");","lastModifiedDate":"2023-10-09"},{"lineNumber":43,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":44,"author":{"gitId":"danielpappa"},"content":" public void setOneTimeIncome(boolean isOneTimeIncome) {","lastModifiedDate":"2023-10-09"},{"lineNumber":45,"author":{"gitId":"danielpappa"},"content":" this.isOneTimeIncome \u003d isOneTimeIncome;","lastModifiedDate":"2023-10-09"},{"lineNumber":46,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":47,"author":{"gitId":"danielpappa"},"content":" public String getCurrency() {","lastModifiedDate":"2023-10-09"},{"lineNumber":48,"author":{"gitId":"danielpappa"},"content":" return this.currency;","lastModifiedDate":"2023-10-09"},{"lineNumber":49,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":50,"author":{"gitId":"danielpappa"},"content":" public void setCurrency(String currency) {","lastModifiedDate":"2023-10-09"},{"lineNumber":51,"author":{"gitId":"danielpappa"},"content":" this.currency \u003d currency;","lastModifiedDate":"2023-10-09"},{"lineNumber":52,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":53,"author":{"gitId":"danielpappa"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":54,"author":{"gitId":"danielpappa"},"content":" public String toString() {","lastModifiedDate":"2023-10-09"},{"lineNumber":55,"author":{"gitId":"danielpappa"},"content":" return String.format(\"\\t+ %s %d: %s (date: %s, %s)\", currency, amount, description, date, isOneTimeIncome());","lastModifiedDate":"2023-10-10"},{"lineNumber":56,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":57,"author":{"gitId":"danielpappa"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"danielpappa":57}},{"path":"src/main/java/cashleh/IncomeStatement.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"danielpappa"},"content":"package cashleh;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":3,"author":{"gitId":"danielpappa"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"danielpappa"},"content":"import java.util.List;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"danielpappa"},"content":"import java.util.stream.Collectors;","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"danielpappa"},"content":"public class IncomeStatement {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"danielpappa"},"content":" private ArrayList\u003cIncome\u003e incomeStatement \u003d new ArrayList\u003c\u003e();","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"danielpappa"},"content":" public IncomeStatement() {}","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"danielpappa"},"content":" public IncomeStatement(Income... incomes) {","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"danielpappa"},"content":" incomeStatement.addAll(List.of(incomes));","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"danielpappa"},"content":" public void add(Income incomeToAdd) {","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"danielpappa"},"content":" incomeStatement.add(incomeToAdd);","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"danielpappa"},"content":" public void delete(int incomeIndexToDelete) {","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"danielpappa"},"content":" incomeStatement.remove(incomeIndexToDelete);","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"danielpappa"},"content":" public Income get(int incomeIndex) {","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"danielpappa"},"content":" return incomeStatement.get(incomeIndex);","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"danielpappa"},"content":" public int getNumberOfEntries() {","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"danielpappa"},"content":" return incomeStatement.size();","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"danielpappa"},"content":" public double getSumOfEntries() {","lastModifiedDate":"2023-10-10"},{"lineNumber":26,"author":{"gitId":"danielpappa"},"content":" return incomeStatement.stream().mapToDouble(Income::getAmount).sum();","lastModifiedDate":"2023-10-10"},{"lineNumber":27,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":28,"author":{"gitId":"danielpappa"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":29,"author":{"gitId":"danielpappa"},"content":" public String toString() {","lastModifiedDate":"2023-10-10"},{"lineNumber":30,"author":{"gitId":"danielpappa"},"content":" return incomeStatement.stream().map(Income::toString).collect(Collectors.joining(\"\\n\"));","lastModifiedDate":"2023-10-10"},{"lineNumber":31,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":32,"author":{"gitId":"danielpappa"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"danielpappa":32}},{"path":"src/main/java/cashleh/Input.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"Xuan127"},"content":"package cashleh;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"Xuan127"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":3,"author":{"gitId":"Xuan127"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"Xuan127"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"Xuan127"},"content":"/**","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"Xuan127"},"content":" * Represents the input from the user","lastModifiedDate":"2023-10-10"},{"lineNumber":7,"author":{"gitId":"Xuan127"},"content":" */","lastModifiedDate":"2023-10-10"},{"lineNumber":8,"author":{"gitId":"Xuan127"},"content":"public class Input {","lastModifiedDate":"2023-10-10"},{"lineNumber":9,"author":{"gitId":"Xuan127"},"content":" private String inputString;","lastModifiedDate":"2023-10-10"},{"lineNumber":10,"author":{"gitId":"Xuan127"},"content":" private Scanner in \u003d new Scanner(System.in);","lastModifiedDate":"2023-10-10"},{"lineNumber":11,"author":{"gitId":"Xuan127"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":12,"author":{"gitId":"Xuan127"},"content":" public Input() {","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"Xuan127"},"content":" inputString \u003d \"\";","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"Xuan127"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"Xuan127"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"Xuan127"},"content":" /**","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"Xuan127"},"content":" * Returns the next line of input from the user","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"Xuan127"},"content":" * @return Next line of input from the user","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"Xuan127"},"content":" */","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"Xuan127"},"content":" public String getInputString() {","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"Xuan127"},"content":" if (in.hasNextLine()) {","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"Xuan127"},"content":" inputString \u003d in.nextLine();","lastModifiedDate":"2023-10-10"},{"lineNumber":23,"author":{"gitId":"Xuan127"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":24,"author":{"gitId":"Xuan127"},"content":" return inputString;","lastModifiedDate":"2023-10-10"},{"lineNumber":25,"author":{"gitId":"Xuan127"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":26,"author":{"gitId":"Xuan127"},"content":"}","lastModifiedDate":"2023-10-10"}],"authorContributionMap":{"Xuan127":26}},{"path":"src/main/java/cashleh/Ui.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"mcmc101001"},"content":"package cashleh;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"mcmc101001"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":3,"author":{"gitId":"mcmc101001"},"content":"import java.util.ArrayList;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"mcmc101001"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"mcmc101001"},"content":"public class Ui {","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"mcmc101001"},"content":" private void printHorizontalLine() {","lastModifiedDate":"2023-10-10"},{"lineNumber":7,"author":{"gitId":"mcmc101001"},"content":" System.out.println(\"\\t____________________________________________________________\");","lastModifiedDate":"2023-10-10"},{"lineNumber":8,"author":{"gitId":"mcmc101001"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":9,"author":{"gitId":"mcmc101001"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":10,"author":{"gitId":"mcmc101001"},"content":" /**","lastModifiedDate":"2023-10-10"},{"lineNumber":11,"author":{"gitId":"mcmc101001"},"content":" * Prints the given text sandwiched by two horizontal lines","lastModifiedDate":"2023-10-10"},{"lineNumber":12,"author":{"gitId":"mcmc101001"},"content":" * @param text Text to be printed","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"mcmc101001"},"content":" */","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"mcmc101001"},"content":" public void printText(String text) {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"mcmc101001"},"content":" printHorizontalLine();","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"mcmc101001"},"content":" System.out.println(\"\\t\" + text);","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"mcmc101001"},"content":" printHorizontalLine();","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"mcmc101001"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"mcmc101001"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"mcmc101001"},"content":" /**","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"mcmc101001"},"content":" * Prints the given texts sandwiched by two horizontal lines","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"mcmc101001"},"content":" * @param texts Texts to be printed in a list","lastModifiedDate":"2023-10-10"},{"lineNumber":23,"author":{"gitId":"mcmc101001"},"content":" */","lastModifiedDate":"2023-10-10"},{"lineNumber":24,"author":{"gitId":"mcmc101001"},"content":" public void printMultipleText(String[] texts) {","lastModifiedDate":"2023-10-10"},{"lineNumber":25,"author":{"gitId":"mcmc101001"},"content":" printHorizontalLine();","lastModifiedDate":"2023-10-10"},{"lineNumber":26,"author":{"gitId":"mcmc101001"},"content":" for (String text : texts) {","lastModifiedDate":"2023-10-10"},{"lineNumber":27,"author":{"gitId":"mcmc101001"},"content":" System.out.println(\"\\t\" + text);","lastModifiedDate":"2023-10-10"},{"lineNumber":28,"author":{"gitId":"mcmc101001"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":29,"author":{"gitId":"mcmc101001"},"content":" printHorizontalLine();","lastModifiedDate":"2023-10-10"},{"lineNumber":30,"author":{"gitId":"mcmc101001"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":31,"author":{"gitId":"mcmc101001"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":32,"author":{"gitId":"mcmc101001"},"content":" /**","lastModifiedDate":"2023-10-10"},{"lineNumber":33,"author":{"gitId":"mcmc101001"},"content":" * Prints the given texts sandwiched by two horizontal lines","lastModifiedDate":"2023-10-10"},{"lineNumber":34,"author":{"gitId":"mcmc101001"},"content":" * @param texts Texts to be printed in a list","lastModifiedDate":"2023-10-10"},{"lineNumber":35,"author":{"gitId":"mcmc101001"},"content":" */","lastModifiedDate":"2023-10-10"},{"lineNumber":36,"author":{"gitId":"mcmc101001"},"content":" public void printMultipleText(ArrayList\u003cString\u003e texts) {","lastModifiedDate":"2023-10-10"},{"lineNumber":37,"author":{"gitId":"mcmc101001"},"content":" printHorizontalLine();","lastModifiedDate":"2023-10-10"},{"lineNumber":38,"author":{"gitId":"mcmc101001"},"content":" for (String text : texts) {","lastModifiedDate":"2023-10-10"},{"lineNumber":39,"author":{"gitId":"mcmc101001"},"content":" System.out.println(\"\\t\" + text);","lastModifiedDate":"2023-10-10"},{"lineNumber":40,"author":{"gitId":"mcmc101001"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":41,"author":{"gitId":"mcmc101001"},"content":" printHorizontalLine();","lastModifiedDate":"2023-10-10"},{"lineNumber":42,"author":{"gitId":"mcmc101001"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":43,"author":{"gitId":"mcmc101001"},"content":"}","lastModifiedDate":"2023-10-10"}],"authorContributionMap":{"mcmc101001":43}},{"path":"src/main/java/cashleh/commands/AddIncome.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"danielpappa"},"content":"package cashleh.commands;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"danielpappa"},"content":"import cashleh.Income;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"danielpappa"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"danielpappa"},"content":"public class AddIncome extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"danielpappa"},"content":" public static final String COMMAND \u003d \"addIncome\";","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"danielpappa"},"content":" private final Income incomeToAdd;","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"danielpappa"},"content":" public AddIncome(int amount, String description, LocalDate date) {","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"danielpappa"},"content":" this.incomeToAdd \u003d new Income(amount, description, date);","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"danielpappa"},"content":" public AddIncome(Income incomeToAdd) {","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"danielpappa"},"content":" this.incomeToAdd \u003d incomeToAdd;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"danielpappa"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"danielpappa"},"content":" public void execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"danielpappa"},"content":" incomeStatement.add(incomeToAdd);","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"danielpappa"},"content":" System.out.println(\"The following income was added:\\n\" + getIncome());","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"danielpappa"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"danielpappa":21}},{"path":"src/main/java/cashleh/commands/Command.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"danielpappa"},"content":"package cashleh.commands;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"danielpappa"},"content":"import cashleh.Income;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"danielpappa"},"content":"import cashleh.IncomeStatement;","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"danielpappa"},"content":"public class Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"danielpappa"},"content":" protected IncomeStatement incomeStatement;","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"danielpappa"},"content":" private int index;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"danielpappa"},"content":" public Command(int index) {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"danielpappa"},"content":" this.index \u003d index;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"danielpappa"},"content":" public Command() {","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"danielpappa"},"content":" public int getIndex() {","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"danielpappa"},"content":" return this.index;","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"danielpappa"},"content":" public Income getIncome() {","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"danielpappa"},"content":" return incomeStatement.get(getIndex());","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"danielpappa"},"content":" public IncomeStatement getIncomeStatement() {","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"danielpappa"},"content":" return incomeStatement;","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":23,"author":{"gitId":"danielpappa"},"content":" public double getIncomeSum() {","lastModifiedDate":"2023-10-10"},{"lineNumber":24,"author":{"gitId":"danielpappa"},"content":" return incomeStatement.getSumOfEntries();","lastModifiedDate":"2023-10-10"},{"lineNumber":25,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":26,"author":{"gitId":"danielpappa"},"content":" public void execute() {}","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"danielpappa"},"content":" public void setIncomeStatement(IncomeStatement incomeStatement) {","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"danielpappa"},"content":" this.incomeStatement \u003d incomeStatement;","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"danielpappa"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"danielpappa":30}},{"path":"src/main/java/cashleh/commands/DeleteIncome.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"danielpappa"},"content":"package cashleh.commands;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"danielpappa"},"content":"public class DeleteIncome extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"danielpappa"},"content":" public static final String COMMAND \u003d \"deleteIncome\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"danielpappa"},"content":" public DeleteIncome(int incomeIndexToDelete) {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"danielpappa"},"content":" super(incomeIndexToDelete);","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"danielpappa"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"danielpappa"},"content":" public void execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"danielpappa"},"content":" String incomeBeingDeleted \u003d getIncome().toString();","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"danielpappa"},"content":" incomeStatement.delete(getIndex());","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"danielpappa"},"content":" System.out.println(\"The following income was deleted:\\n\" + incomeBeingDeleted);","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"danielpappa"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"danielpappa":14}},{"path":"src/main/java/cashleh/commands/ViewIncomes.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"danielpappa"},"content":"package cashleh.commands;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":3,"author":{"gitId":"danielpappa"},"content":"public class ViewIncomes extends Command {","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"danielpappa"},"content":" public static final String COMMAND \u003d \"viewIncomes\";","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"danielpappa"},"content":" public ViewIncomes(int incomeIndexToView) {","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"danielpappa"},"content":" super(incomeIndexToView);","lastModifiedDate":"2023-10-10"},{"lineNumber":7,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":8,"author":{"gitId":"danielpappa"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":9,"author":{"gitId":"danielpappa"},"content":" public void execute() {","lastModifiedDate":"2023-10-10"},{"lineNumber":10,"author":{"gitId":"danielpappa"},"content":" System.out.println(\"The current sum of all your incomes amounts to: \"","lastModifiedDate":"2023-10-10"},{"lineNumber":11,"author":{"gitId":"danielpappa"},"content":" + getIncomeSum() + System.lineSeparator() + getIncomeStatement());","lastModifiedDate":"2023-10-10"},{"lineNumber":12,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"danielpappa"},"content":"}","lastModifiedDate":"2023-10-10"}],"authorContributionMap":{"danielpappa":13}},{"path":"src/test/java/cashleh/CashLehTest.java","fileType":"test-code","lines":[{"lineNumber":1,"author":{"gitId":"mcmc101001"},"content":"package cashleh;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertTrue;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"danielpappa"},"content":"class CashLehTest {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"-"},"content":" @Test","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"-"},"content":" public void sampleTest() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"-"},"content":" assertTrue(true);","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"danielpappa":1,"mcmc101001":1,"-":10}},{"path":"src/test/java/cashleh/IncomeStatementTest.java","fileType":"test-code","lines":[{"lineNumber":1,"author":{"gitId":"danielpappa"},"content":"package cashleh;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":3,"author":{"gitId":"danielpappa"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"danielpappa"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":7,"author":{"gitId":"danielpappa"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-10-10"},{"lineNumber":8,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":9,"author":{"gitId":"danielpappa"},"content":"class IncomeStatementTest {","lastModifiedDate":"2023-10-10"},{"lineNumber":10,"author":{"gitId":"danielpappa"},"content":" IncomeStatement testStatement \u003d new IncomeStatement();","lastModifiedDate":"2023-10-10"},{"lineNumber":11,"author":{"gitId":"danielpappa"},"content":" Income testIncome \u003d new Income(200, \"pocket money\",","lastModifiedDate":"2023-10-10"},{"lineNumber":12,"author":{"gitId":"danielpappa"},"content":" LocalDate.of(2023, 10, 10));","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"danielpappa"},"content":" @Test","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"danielpappa"},"content":" void getNumberOfEntries() {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"danielpappa"},"content":" assertEquals(testStatement.getNumberOfEntries(), 0);","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"danielpappa"},"content":" testStatement.add(testIncome);","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"danielpappa"},"content":" assertEquals(testStatement.getNumberOfEntries(), 1);","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"danielpappa"},"content":" testStatement.add(testIncome);","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"danielpappa"},"content":" assertEquals(testStatement.getNumberOfEntries(), 2);","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"danielpappa"},"content":" @Test","lastModifiedDate":"2023-10-10"},{"lineNumber":23,"author":{"gitId":"danielpappa"},"content":" void getSumOfEntries() {","lastModifiedDate":"2023-10-10"},{"lineNumber":24,"author":{"gitId":"danielpappa"},"content":" testStatement.add(testIncome);","lastModifiedDate":"2023-10-10"},{"lineNumber":25,"author":{"gitId":"danielpappa"},"content":" assertEquals(testStatement.getSumOfEntries(), 200);","lastModifiedDate":"2023-10-10"},{"lineNumber":26,"author":{"gitId":"danielpappa"},"content":" testStatement.add(testIncome);","lastModifiedDate":"2023-10-10"},{"lineNumber":27,"author":{"gitId":"danielpappa"},"content":" assertEquals(testStatement.getSumOfEntries(), 400);","lastModifiedDate":"2023-10-10"},{"lineNumber":28,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":29,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":30,"author":{"gitId":"danielpappa"},"content":" @Test","lastModifiedDate":"2023-10-10"},{"lineNumber":31,"author":{"gitId":"danielpappa"},"content":" void testToString() {","lastModifiedDate":"2023-10-10"},{"lineNumber":32,"author":{"gitId":"danielpappa"},"content":" testStatement.add(testIncome);","lastModifiedDate":"2023-10-10"},{"lineNumber":33,"author":{"gitId":"danielpappa"},"content":" testStatement.add(testIncome);","lastModifiedDate":"2023-10-10"},{"lineNumber":34,"author":{"gitId":"danielpappa"},"content":" System.out.println(testStatement);","lastModifiedDate":"2023-10-10"},{"lineNumber":35,"author":{"gitId":"danielpappa"},"content":" assertEquals(testStatement.toString(), \"\\t+ S$ 200: pocket money (date: 2023-10-10, One time)\\n\\t\"","lastModifiedDate":"2023-10-10"},{"lineNumber":36,"author":{"gitId":"danielpappa"},"content":" + \"+ S$ 200: pocket money (date: 2023-10-10, One time)\");","lastModifiedDate":"2023-10-10"},{"lineNumber":37,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":38,"author":{"gitId":"danielpappa"},"content":"}","lastModifiedDate":"2023-10-10"}],"authorContributionMap":{"danielpappa":38}},{"path":"src/test/java/cashleh/IncomeTest.java","fileType":"test-code","lines":[{"lineNumber":1,"author":{"gitId":"danielpappa"},"content":"package cashleh;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":3,"author":{"gitId":"danielpappa"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"danielpappa"},"content":"import java.time.LocalDate;","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":7,"author":{"gitId":"danielpappa"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;","lastModifiedDate":"2023-10-10"},{"lineNumber":8,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":9,"author":{"gitId":"danielpappa"},"content":"class IncomeTest {","lastModifiedDate":"2023-10-10"},{"lineNumber":10,"author":{"gitId":"danielpappa"},"content":" Income testIncome \u003d new Income(200, \"pocket money\",","lastModifiedDate":"2023-10-10"},{"lineNumber":11,"author":{"gitId":"danielpappa"},"content":" LocalDate.of(2023, 10, 10));","lastModifiedDate":"2023-10-10"},{"lineNumber":12,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"danielpappa"},"content":" @Test","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"danielpappa"},"content":" void isOneTimeIncome() {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"danielpappa"},"content":" assertEquals(testIncome.isOneTimeIncome(), \"One time\");","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"danielpappa"},"content":" testIncome.setOneTimeIncome(false);","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"danielpappa"},"content":" assertEquals(testIncome.isOneTimeIncome(), \"Recurring\");","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"danielpappa"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"danielpappa"},"content":" @Test","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"danielpappa"},"content":" void testToString() {","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"danielpappa"},"content":" assertEquals(testIncome.toString(), \"\\t+ S$ 200: pocket money (date: 2023-10-10, One time)\");","lastModifiedDate":"2023-10-10"},{"lineNumber":23,"author":{"gitId":"danielpappa"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":24,"author":{"gitId":"danielpappa"},"content":"}","lastModifiedDate":"2023-10-10"}],"authorContributionMap":{"danielpappa":24}}] diff --git a/AY2324S1-CS2113-W12-2_tp_master/commits.json b/AY2324S1-CS2113-W12-2_tp_master/commits.json index 8ab96fb..cde14b9 100644 --- a/AY2324S1-CS2113-W12-2_tp_master/commits.json +++ b/AY2324S1-CS2113-W12-2_tp_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"Xuan127":[{"date":"2023-10-04","commitResults":[{"hash":"92527fd32c5b5fa00119b754e79e8f90a7aec990","isMergeCommit":false,"messageTitle":"Edit about us","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"202d4740acca25f35994264b9b82e37fafee606b","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027upstream/master\u0027","messageBody":"# Conflicts:\n#\tdocs/AboutUs.md\n","fileTypesAndContributionMap":{}},{"hash":"1969944e3707bc31b0f1f34b8840b88c6dfb9c11","isMergeCommit":true,"messageTitle":"Merge pull request #21 from danielpappa/master","messageBody":"Update name in first line","fileTypesAndContributionMap":{}}]}],"danielpappa":[{"date":"2023-10-04","commitResults":[{"hash":"6a88a35d1e499a86502311ce617b3d273dcc48f0","isMergeCommit":false,"messageTitle":"Update name in first line","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}},{"hash":"f7b2b1acc55cdbeeb912672b5302a2cf4cee27b5","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-2/tp","messageBody":"# Conflicts:\n#\tdocs/AboutUs.md\n","fileTypesAndContributionMap":{}},{"hash":"c4a9e0a615eb0fb6cc4694b04fb50e7f95f42ca8","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-2/tp","messageBody":"# Conflicts:\n#\tdocs/AboutUs.md\n","fileTypesAndContributionMap":{}},{"hash":"f6577bec4bf20fbbb68bca3b6a6f499b46ad59ab","isMergeCommit":true,"messageTitle":"Merge pull request #20 from BenedictChannn/master","messageBody":"Add name to AboutUs.md","fileTypesAndContributionMap":{}}]}],"mcmc101001":[{"date":"2023-10-04","commitResults":[{"hash":"61869c053985866bf98597995197cda3794dc725","isMergeCommit":false,"messageTitle":"Add name to AboutUs.md","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":1},"docs":{"insertions":7,"deletions":7}}},{"hash":"d8d872f9c15f68fceacb5c74b8a125b257af5d8e","isMergeCommit":true,"messageTitle":"Merge pull request #18 from Xuan127/master","messageBody":"Edit about us","fileTypesAndContributionMap":{}}]},{"date":"2023-10-05","commitResults":[{"hash":"003780bb06ecac8bee2c18e8948d8d7f66655599","isMergeCommit":true,"messageTitle":"Merge pull request #19 from WooKaiNing/master","messageBody":"Add name to AboutUs.md","fileTypesAndContributionMap":{}}]}],"BenedictChannn":[{"date":"2023-10-04","commitResults":[{"hash":"28702ad39c722d65b80ef3cc2bf1852698f28448","isMergeCommit":false,"messageTitle":"Change name","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}},{"hash":"3239ce5a111657f65513453e9751b5b9ad214506","isMergeCommit":true,"messageTitle":"Merge pull request #17 from mcmc101001/master","messageBody":"Add name to AboutUs.md","fileTypesAndContributionMap":{}},{"hash":"ca11a15a456788acfe148123ffe811c635e06e57","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-2/tp","messageBody":"# Conflicts:\n#\tdocs/AboutUs.md\n","fileTypesAndContributionMap":{}}]}],"WooKaiNing":[{"date":"2023-10-04","commitResults":[{"hash":"f24118be41282d5253e3a73d39895a4712478f84","isMergeCommit":false,"messageTitle":"Add name to AboutUs.md","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":5}}},{"hash":"d86a47d92195137b19bede463d162ea013325a51","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-2/tp","messageBody":"","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"Xuan127":{"docs":1,"functional-code":0,"test-code":0},"danielpappa":{"docs":1,"functional-code":0,"test-code":0},"mcmc101001":{"docs":1,"functional-code":0,"test-code":0},"BenedictChannn":{"docs":2,"functional-code":0,"test-code":0},"WooKaiNing":{"docs":2,"functional-code":0,"test-code":0}},"authorContributionVariance":{"Xuan127":0.26530612,"danielpappa":13.0,"mcmc101001":19.168367,"BenedictChannn":13.0,"WooKaiNing":6.6326528},"authorDisplayNameMap":{"Xuan127":"CS2113-W12-2 SHAN..XUAN","danielpappa":"CS2113-W12-2 PAPP..NIEL","mcmc101001":"CS2113-W12-2 TOH ..CHUN","BenedictChannn":"CS2113-W12-2 CHAN..DICT","WooKaiNing":"CS2113-W12-2 WOO ..NING"}} +{"authorDailyContributionsMap":{"Xuan127":[{"date":"2023-10-04","commitResults":[{"hash":"92527fd32c5b5fa00119b754e79e8f90a7aec990","isMergeCommit":false,"messageTitle":"Edit about us","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}},{"hash":"202d4740acca25f35994264b9b82e37fafee606b","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027upstream/master\u0027","messageBody":"# Conflicts:\n#\tdocs/AboutUs.md\n","fileTypesAndContributionMap":{}},{"hash":"1969944e3707bc31b0f1f34b8840b88c6dfb9c11","isMergeCommit":true,"messageTitle":"Merge pull request #21 from danielpappa/master","messageBody":"Update name in first line","fileTypesAndContributionMap":{}}]},{"date":"2023-10-10","commitResults":[{"hash":"f7da23047dea85e15ea67b57be6a9919992ff63f","isMergeCommit":false,"messageTitle":"Initialize and implement quit","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":10,"deletions":1}}},{"hash":"6d87e67f7da1087ac4e36b352008de1803e15a40","isMergeCommit":false,"messageTitle":"Change the starting prints","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":9,"deletions":7}}},{"hash":"04d0249fce8ab50119cf0cb1190da0a330d7c9dc","isMergeCommit":false,"messageTitle":"Create Input class","messageBody":"Fixes #22\n","fileTypesAndContributionMap":{"functional-code":{"insertions":22,"deletions":7}}},{"hash":"4fffba3cf6fd42d3c60b399bd50f985068477911","isMergeCommit":false,"messageTitle":"Shorten line 17 in main","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":1}}},{"hash":"638c97db74be058316ed191d5a389a91503089e2","isMergeCommit":false,"messageTitle":"Add check for if there is next line of input","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":1}}},{"hash":"0e5d466cb2687bd3d2521aceabf8d1729c94bad0","isMergeCommit":true,"messageTitle":"Merge pull request #24 from mcmc101001/branch-Ui-Class","messageBody":"Add UI class with simple methods to handle UI functionalities","fileTypesAndContributionMap":{}},{"hash":"503fdcda1131acf16720adc8697374ece53edaed","isMergeCommit":true,"messageTitle":"Merge remote-tracking branch \u0027upstream/master\u0027 into initialisation_and_exit","messageBody":"# Conflicts:\n#\tsrc/main/java/cashleh/CashLeh.java\n#\tsrc/main/java/cashleh/Input.java\n","fileTypesAndContributionMap":{}},{"hash":"fd51ee65ba035a1ffd51a50bcc20dce14737fe80","isMergeCommit":false,"messageTitle":"Add some javadoc for Input class and use ui class to print everything","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":9,"deletions":2}}},{"hash":"75a0f86038ee8bc5f38140bff6b2f96e4d2495ce","isMergeCommit":false,"messageTitle":"Edit test files","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":1,"deletions":1}}}]}],"danielpappa":[{"date":"2023-10-04","commitResults":[{"hash":"6a88a35d1e499a86502311ce617b3d273dcc48f0","isMergeCommit":false,"messageTitle":"Update name in first line","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}},{"hash":"f7b2b1acc55cdbeeb912672b5302a2cf4cee27b5","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-2/tp","messageBody":"# Conflicts:\n#\tdocs/AboutUs.md\n","fileTypesAndContributionMap":{}},{"hash":"c4a9e0a615eb0fb6cc4694b04fb50e7f95f42ca8","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-2/tp","messageBody":"# Conflicts:\n#\tdocs/AboutUs.md\n","fileTypesAndContributionMap":{}},{"hash":"f6577bec4bf20fbbb68bca3b6a6f499b46ad59ab","isMergeCommit":true,"messageTitle":"Merge pull request #20 from BenedictChannn/master","messageBody":"Add name to AboutUs.md","fileTypesAndContributionMap":{}},{"hash":"fc7b489e76f9b9d817a5d16c99642e4636727f93","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-2/tp","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2023-10-09","commitResults":[{"hash":"4fd7937372050ab7ff3596f79b26cad7b7d53544","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-2/tp","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"223df0aaf53c99b427d96f0976496c4cb88987e3","isMergeCommit":false,"messageTitle":"Rename main class into CashLeh and remove previous content","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":12,"deletions":21},"test-code":{"insertions":0,"deletions":12}}},{"hash":"93072c4de558ecd02adb511e630e57cf1bc1723f","isMergeCommit":false,"messageTitle":"Create class Income and IncomeStatement","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":81,"deletions":0},"test-code":{"insertions":12,"deletions":0}}},{"hash":"644bb97ee4809fec84ba24c2e6073e0988eb5a6a","isMergeCommit":false,"messageTitle":"Create class Command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":25,"deletions":0}}},{"hash":"d5070be237065862b655a113d2baf790e7c090d4","isMergeCommit":false,"messageTitle":"Create classes AddIncome, DeleteIncome and ViewIncome","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":47,"deletions":0}}}]},{"date":"2023-10-10","commitResults":[{"hash":"81ac2823b911e1d6829a287d6a2b0251ef5edcec","isMergeCommit":false,"messageTitle":"Update developer guide to contain info related to income","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":42,"deletions":13}}},{"hash":"f11e9c051add403df3307911977c89a969b2969d","isMergeCommit":false,"messageTitle":"Update viewIncomes to follow user guide","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":28,"deletions":13}}},{"hash":"5402f7f13ea448115f2a595844905666b555e5e2","isMergeCommit":false,"messageTitle":"Add tab before toString() method","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":3,"deletions":3}}},{"hash":"30ba3c34fb93c9b2b374634423f88e497812bde2","isMergeCommit":false,"messageTitle":"Create basic JUnit tests for Income and IncomeStatement","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":62,"deletions":0}}},{"hash":"c6b31773a8dc3d5ab25e6314353e999d144daacd","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-2/tp into level-1-income","messageBody":"# Conflicts:\n#\tsrc/main/java/cashleh/CashLeh.java\n#\tsrc/test/java/cashleh/CashLehTest.java\n#\tsrc/test/java/seedu/cashleh/CashLehTest.java\n#\tsrc/test/java/seedu/duke/DukeTest.java\n","fileTypesAndContributionMap":{}},{"hash":"3c17c38bb27dacdf333984d875b7bb4234f44bfc","isMergeCommit":true,"messageTitle":"Merge pull request #23 from Xuan127/initialisation_and_exit","messageBody":"Initialisation and exit","fileTypesAndContributionMap":{}},{"hash":"cb2f447d0cacfbaac75c7e5e15ef24a761c5e002","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-2/tp into level-1-income","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"00b0a13593f0ba617f1a5a647a6941bd8f0c13e2","isMergeCommit":false,"messageTitle":"Improve coding standard to pass tests to merge on Github","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":0,"deletions":2},"test-code":{"insertions":5,"deletions":8}}},{"hash":"355347d9e4c6e1235ee19d774f35331c88befb4b","isMergeCommit":false,"messageTitle":"Fix coding standard violation","messageBody":"","fileTypesAndContributionMap":{"test-code":{"insertions":2,"deletions":2}}}]}],"mcmc101001":[{"date":"2023-10-04","commitResults":[{"hash":"61869c053985866bf98597995197cda3794dc725","isMergeCommit":false,"messageTitle":"Add name to AboutUs.md","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":2,"deletions":1},"docs":{"insertions":7,"deletions":7}}},{"hash":"d8d872f9c15f68fceacb5c74b8a125b257af5d8e","isMergeCommit":true,"messageTitle":"Merge pull request #18 from Xuan127/master","messageBody":"Edit about us","fileTypesAndContributionMap":{}}]},{"date":"2023-10-05","commitResults":[{"hash":"003780bb06ecac8bee2c18e8948d8d7f66655599","isMergeCommit":true,"messageTitle":"Merge pull request #19 from WooKaiNing/master","messageBody":"Add name to AboutUs.md","fileTypesAndContributionMap":{}}]},{"date":"2023-10-10","commitResults":[{"hash":"32561088218b1f32a1c2dff4d020eb7a69145939","isMergeCommit":false,"messageTitle":"Add UI class with simple methods to handle UI functionalities","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":43,"deletions":0},"other":{"insertions":14,"deletions":8}}},{"hash":"4a9061355d66bbb8a7252994ccd2ffa15dbc60ce","isMergeCommit":false,"messageTitle":"Fix gradle build to use cashLeh class instead","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":2,"deletions":2}}},{"hash":"953c018e11fc0d7ccbe37a9b5c9847a34c736d74","isMergeCommit":false,"messageTitle":"Fix IO redirection test by copying the file directly instead of file contents","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":0,"deletions":0}}}]}],"BenedictChannn":[{"date":"2023-10-04","commitResults":[{"hash":"28702ad39c722d65b80ef3cc2bf1852698f28448","isMergeCommit":false,"messageTitle":"Change name","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}},{"hash":"3239ce5a111657f65513453e9751b5b9ad214506","isMergeCommit":true,"messageTitle":"Merge pull request #17 from mcmc101001/master","messageBody":"Add name to AboutUs.md","fileTypesAndContributionMap":{}},{"hash":"ca11a15a456788acfe148123ffe811c635e06e57","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-2/tp","messageBody":"# Conflicts:\n#\tdocs/AboutUs.md\n","fileTypesAndContributionMap":{}}]}],"WooKaiNing":[{"date":"2023-10-04","commitResults":[{"hash":"f24118be41282d5253e3a73d39895a4712478f84","isMergeCommit":false,"messageTitle":"Add name to AboutUs.md","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":5,"deletions":5}}},{"hash":"d86a47d92195137b19bede463d162ea013325a51","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-2/tp","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2023-10-10","commitResults":[{"hash":"506848c881c64a86d76835d0c1ecd462cecc9964","isMergeCommit":true,"messageTitle":"Merge pull request #25 from danielpappa/level-1-income","messageBody":"Level-1-income","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"Xuan127":{"docs":1,"functional-code":50,"test-code":0},"danielpappa":{"docs":40,"functional-code":167,"test-code":63},"mcmc101001":{"docs":1,"functional-code":52,"test-code":1,"other":2},"BenedictChannn":{"docs":2,"functional-code":0,"test-code":0},"WooKaiNing":{"docs":2,"functional-code":0,"test-code":0}},"authorContributionVariance":{"Xuan127":287.35733,"danielpappa":3635.086,"mcmc101001":245.30196,"BenedictChannn":9.772854,"WooKaiNing":4.9861493},"authorDisplayNameMap":{"Xuan127":"CS2113-W12-2 SHAN..XUAN","danielpappa":"CS2113-W12-2 PAPP..NIEL","mcmc101001":"CS2113-W12-2 TOH ..CHUN","BenedictChannn":"CS2113-W12-2 CHAN..DICT","WooKaiNing":"CS2113-W12-2 WOO ..NING"}} diff --git a/AY2324S1-CS2113-W12-4_tp_master/authorship.json b/AY2324S1-CS2113-W12-4_tp_master/authorship.json index 98e7550..453bd29 100644 --- a/AY2324S1-CS2113-W12-4_tp_master/authorship.json +++ b/AY2324S1-CS2113-W12-4_tp_master/authorship.json @@ -1 +1 @@ -[{"path":"build.gradle","fileType":"other","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"plugins {","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":" id \u0027java\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":" id \u0027application\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":" id \u0027checkstyle\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2022-06-17"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":14,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"ICubE-"},"content":" mainClass.set(\"fittrack.FitTrack\")","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" archiveBaseName.set(\"duke\")","lastModifiedDate":"2023-09-24"},{"lineNumber":37,"author":{"gitId":"-"},"content":" archiveClassifier.set(\"\")","lastModifiedDate":"2023-09-24"},{"lineNumber":38,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":"checkstyle {","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":" toolVersion \u003d \u002710.2\u0027","lastModifiedDate":"2022-04-29"},{"lineNumber":42,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":43,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":44,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":45,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":46,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"ICubE-":1,"-":45}},{"path":"docs/AboutUs.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# About us","lastModifiedDate":"2020-05-24"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"-"},"content":"Display | Name | Github Profile | Portfolio ","lastModifiedDate":"2020-05-24"},{"lineNumber":4,"author":{"gitId":"J0shuaLeong"},"content":"--------|:------------:|:----------------------------------------:|:---------:","lastModifiedDate":"2023-10-06"},{"lineNumber":5,"author":{"gitId":"farissirraj"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Faris Sirraj | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Yeon Jeho | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":7,"author":{"gitId":"J0shuaLeong"},"content":"\u003cimg src\u003d\"images/joshua.jpg\" width \u003d 25% height \u003d 25%\u003e | Joshua Leong | [Github](https://github.com/J0shuaLeong) | [Portfolio](docs/team/joshua.md)","lastModifiedDate":"2023-10-07"},{"lineNumber":8,"author":{"gitId":"NgLixuanNixon"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Ng Lixuan Nixon | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":9,"author":{"gitId":"marklin2234"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Mark Lin | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":10,"author":{"gitId":"NgLixuanNixon"},"content":"","lastModifiedDate":"2023-10-04"}],"authorContributionMap":{"NgLixuanNixon":2,"J0shuaLeong":2,"ICubE-":1,"marklin2234":1,"-":3,"farissirraj":1}},{"path":"docs/team/joshua.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"J0shuaLeong"},"content":"# Joshua - Project Portfolio Page","lastModifiedDate":"2023-10-06"},{"lineNumber":2,"author":{"gitId":"J0shuaLeong"},"content":"","lastModifiedDate":"2023-10-06"},{"lineNumber":3,"author":{"gitId":"J0shuaLeong"},"content":"## Overview","lastModifiedDate":"2023-10-06"},{"lineNumber":4,"author":{"gitId":"J0shuaLeong"},"content":"","lastModifiedDate":"2023-10-06"},{"lineNumber":5,"author":{"gitId":"J0shuaLeong"},"content":"","lastModifiedDate":"2023-10-06"},{"lineNumber":6,"author":{"gitId":"J0shuaLeong"},"content":"### Summary of Contributions","lastModifiedDate":"2023-10-06"}],"authorContributionMap":{"J0shuaLeong":6}},{"path":"src/main/java/fittrack/FitTrack.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.Command;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.CommandResult;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.ExitCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" * Represents the main part of FitTrack.","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":"public class FitTrack {","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":" private final UserProfile userProfile;","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" private final MealList meals;","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" private final WorkList works;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":" private final Ui ui;","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":" private FitTrack() {","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" ui \u003d new Ui();","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" userProfile \u003d new UserProfile();","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" meals \u003d new MealList();","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":" works \u003d new WorkList();","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"ICubE-"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"ICubE-"},"content":" * Main entry-point for the FitTrack application.","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"ICubE-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"ICubE-"},"content":" new FitTrack().run();","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"ICubE-"},"content":" private void run() {","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"ICubE-"},"content":" start();","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"ICubE-"},"content":" loopCommandExecution();","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"ICubE-"},"content":" end();","lastModifiedDate":"2023-10-09"},{"lineNumber":36,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":38,"author":{"gitId":"ICubE-"},"content":" private void start() {","lastModifiedDate":"2023-10-09"},{"lineNumber":39,"author":{"gitId":"ICubE-"},"content":" ui.printWelcome();","lastModifiedDate":"2023-10-09"},{"lineNumber":40,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":41,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":42,"author":{"gitId":"ICubE-"},"content":" private void loopCommandExecution() {","lastModifiedDate":"2023-10-09"},{"lineNumber":43,"author":{"gitId":"ICubE-"},"content":" Command command;","lastModifiedDate":"2023-10-09"},{"lineNumber":44,"author":{"gitId":"ICubE-"},"content":" do {","lastModifiedDate":"2023-10-09"},{"lineNumber":45,"author":{"gitId":"ICubE-"},"content":" String userCommandLine \u003d ui.scanCommandLine();","lastModifiedDate":"2023-10-09"},{"lineNumber":46,"author":{"gitId":"ICubE-"},"content":" command \u003d new CommandParser().parseCommand(userCommandLine);","lastModifiedDate":"2023-10-09"},{"lineNumber":47,"author":{"gitId":"ICubE-"},"content":" CommandResult commandResult \u003d executeCommand(command);","lastModifiedDate":"2023-10-09"},{"lineNumber":48,"author":{"gitId":"ICubE-"},"content":" ui.printCommandResult(commandResult);","lastModifiedDate":"2023-10-09"},{"lineNumber":49,"author":{"gitId":"ICubE-"},"content":" } while (!ExitCommand.isExit(command));","lastModifiedDate":"2023-10-09"},{"lineNumber":50,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":51,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":52,"author":{"gitId":"ICubE-"},"content":" private CommandResult executeCommand(Command command) {","lastModifiedDate":"2023-10-09"},{"lineNumber":53,"author":{"gitId":"ICubE-"},"content":" command.setData(userProfile, meals, works);","lastModifiedDate":"2023-10-09"},{"lineNumber":54,"author":{"gitId":"ICubE-"},"content":" return command.execute();","lastModifiedDate":"2023-10-09"},{"lineNumber":55,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":56,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":57,"author":{"gitId":"ICubE-"},"content":" private void end() {","lastModifiedDate":"2023-10-09"},{"lineNumber":58,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":59,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":59}},{"path":"src/main/java/fittrack/MealList.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class MealList {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":4}},{"path":"src/main/java/fittrack/Ui.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.CommandResult;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" * Represents the user interface of FitTrack.","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":"public class Ui {","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" private final Scanner in;","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" * Constructs UI of FitTrack.","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" public Ui() {","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":" in \u003d new Scanner(System.in);","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" * Scans a line from the user input.","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"ICubE-"},"content":" * @return user input as a line of string","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"ICubE-"},"content":" private String scanNextLine() {","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"ICubE-"},"content":" return in.nextLine();","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"ICubE-"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"ICubE-"},"content":" * Scans a command line from the user input.","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"ICubE-"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"ICubE-"},"content":" * @return command line as a line of string","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"ICubE-"},"content":" public String scanCommandLine() {","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"ICubE-"},"content":" return scanNextLine();","lastModifiedDate":"2023-10-09"},{"lineNumber":36,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":38,"author":{"gitId":"ICubE-"},"content":" public void printWelcome() {","lastModifiedDate":"2023-10-09"},{"lineNumber":39,"author":{"gitId":"ICubE-"},"content":" System.out.println(\"Welcome!\");","lastModifiedDate":"2023-10-09"},{"lineNumber":40,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":41,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":42,"author":{"gitId":"ICubE-"},"content":" public void printCommandResult(CommandResult commandResult) {","lastModifiedDate":"2023-10-09"},{"lineNumber":43,"author":{"gitId":"ICubE-"},"content":" System.out.println(commandResult.getFeedback());","lastModifiedDate":"2023-10-09"},{"lineNumber":44,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":45,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":45}},{"path":"src/main/java/fittrack/UserProfile.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class UserProfile {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":4}},{"path":"src/main/java/fittrack/WorkList.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class WorkList {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":4}},{"path":"src/main/java/fittrack/command/AddMealCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class AddMealCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"addmeal\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":10}},{"path":"src/main/java/fittrack/command/AddWorkCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class AddWorkCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"addwork\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":10}},{"path":"src/main/java/fittrack/command/CheckCalorieSurplusLimitCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"farissirraj"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"farissirraj"},"content":"public class CheckCalorieSurplusLimitCommand extends Command{","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"farissirraj"},"content":" public static final String COMMAND_WORD \u003d \"checkCSL\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"farissirraj"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"farissirraj"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"farissirraj"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"farissirraj"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"farissirraj"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"farissirraj":10}},{"path":"src/main/java/fittrack/command/CheckHeightCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"farissirraj"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"farissirraj"},"content":"public class CheckHeightCommand extends Command{","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"farissirraj"},"content":" public static final String COMMAND_WORD \u003d \"checkHeight\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"farissirraj"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"farissirraj"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"farissirraj"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"farissirraj"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"farissirraj"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"farissirraj":10}},{"path":"src/main/java/fittrack/command/CheckWeightCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"farissirraj"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"farissirraj"},"content":"public class CheckWeightCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"farissirraj"},"content":" public static final String COMMAND_WORD \u003d \"checkWeight\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"farissirraj"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"farissirraj"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"farissirraj"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"farissirraj"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"farissirraj"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"farissirraj":10}},{"path":"src/main/java/fittrack/command/Command.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.MealList;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"import fittrack.UserProfile;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"import fittrack.WorkList;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"public abstract class Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" protected UserProfile userProfile;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" protected MealList mealList;","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" protected WorkList workList;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":" public void setData(UserProfile userProfile, MealList mealList, WorkList workList) {","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" this.userProfile \u003d userProfile;","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" this.mealList \u003d mealList;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":" this.workList \u003d workList;","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" public abstract CommandResult execute();","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":19}},{"path":"src/main/java/fittrack/command/CommandResult.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class CommandResult {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":" private String feedback;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" public CommandResult(String feedback) {","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":" setFeedback(feedback);","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" public String getFeedback() {","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" return feedback;","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public void setFeedback(String feedback) {","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":" this.feedback \u003d feedback;","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":17}},{"path":"src/main/java/fittrack/command/DeleteMealCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class DeleteMealCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"deletemeal\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":10}},{"path":"src/main/java/fittrack/command/DeleteWorkCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class DeleteWorkCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"deletework\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":10}},{"path":"src/main/java/fittrack/command/EditProfileCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class EditProfileCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"editprofile\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":10}},{"path":"src/main/java/fittrack/command/ExitCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class ExitCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"exit\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":" public static final String MESSAGE_EXIT \u003d \"bye!\";","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":" public static boolean isExit(Command command) {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" return command instanceof ExitCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" return new CommandResult(MESSAGE_EXIT);","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":15}},{"path":"src/main/java/fittrack/command/HelpCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class HelpCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"help\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":10}},{"path":"src/main/java/fittrack/command/ListWorkoutCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"farissirraj"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"farissirraj"},"content":"public class ListWorkoutCommand extends Command{","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"farissirraj"},"content":" public static final String COMMAND_WORD \u003d \"listWorkout\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"farissirraj"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"farissirraj"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"farissirraj"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"farissirraj"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"farissirraj"},"content":"}","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"farissirraj":11}},{"path":"src/main/java/fittrack/command/SetCalorieSurplusLimitCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class SetCalorieSurplusLimitCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"setlimit\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":10}},{"path":"src/main/java/fittrack/command/SetDailyCalorieLimitCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"farissirraj"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"farissirraj"},"content":"public class SetDailyCalorieLimitCommand extends Command{","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"farissirraj"},"content":" public static final String COMMAND_WORD \u003d \"setDCL\";","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"farissirraj"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"farissirraj"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"farissirraj"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"farissirraj"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"farissirraj"},"content":"}","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"farissirraj":11}},{"path":"src/main/java/fittrack/parser/CommandParser.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.parser;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"farissirraj"},"content":"import fittrack.command.*;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"import java.util.regex.Matcher;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":"import java.util.regex.Pattern;","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":"public class CommandParser {","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" private static final Pattern COMMAND_FORMAT \u003d Pattern.compile(","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" \"(?\u003cword\u003e\\\\S+)(?\u003cargs\u003e.*)\"","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" );","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" public Command parseCommand(String userCommandLine) {","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" final Matcher matcher \u003d COMMAND_FORMAT.matcher(userCommandLine.strip());","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":" if (!matcher.matches()) {","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" //","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" final String word \u003d matcher.group(\"word\");","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" final String args \u003d matcher.group(\"args\");","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" switch (word) {","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":" case ExitCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"ICubE-"},"content":" return new ExitCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"ICubE-"},"content":" case EditProfileCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"ICubE-"},"content":" return new EditProfileCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"ICubE-"},"content":" case AddMealCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"ICubE-"},"content":" return new AddMealCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"ICubE-"},"content":" case DeleteMealCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"ICubE-"},"content":" return new DeleteMealCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"ICubE-"},"content":" case AddWorkCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"ICubE-"},"content":" return new AddWorkCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"ICubE-"},"content":" case DeleteWorkCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"ICubE-"},"content":" return new DeleteWorkCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"ICubE-"},"content":" case SetCalorieSurplusLimitCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"ICubE-"},"content":" return new SetCalorieSurplusLimitCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":36,"author":{"gitId":"farissirraj"},"content":" case CheckHeightCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"farissirraj"},"content":" return new CheckHeightCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":38,"author":{"gitId":"farissirraj"},"content":" case CheckWeightCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":39,"author":{"gitId":"farissirraj"},"content":" return new CheckWeightCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":40,"author":{"gitId":"farissirraj"},"content":" case CheckCalorieSurplusLimitCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":41,"author":{"gitId":"farissirraj"},"content":" return new CheckCalorieSurplusLimitCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":42,"author":{"gitId":"farissirraj"},"content":" case ListWorkoutCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":43,"author":{"gitId":"farissirraj"},"content":" return new ListWorkoutCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":44,"author":{"gitId":"farissirraj"},"content":" case SetDailyCalorieLimitCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":45,"author":{"gitId":"farissirraj"},"content":" return new SetDailyCalorieLimitCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":46,"author":{"gitId":"ICubE-"},"content":" default:","lastModifiedDate":"2023-10-09"},{"lineNumber":47,"author":{"gitId":"ICubE-"},"content":" return new HelpCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":48,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":49,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":50,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":39,"farissirraj":11}},{"path":"src/test/java/fittrack/FitTrackTest.java","fileType":"test-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertTrue;","lastModifiedDate":"2020-05-24"},{"lineNumber":4,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2020-05-24"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"class FitTrackTest {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"-"},"content":" @Test","lastModifiedDate":"2020-05-24"},{"lineNumber":9,"author":{"gitId":"-"},"content":" public void sampleTest() {","lastModifiedDate":"2020-05-24"},{"lineNumber":10,"author":{"gitId":"-"},"content":" assertTrue(true);","lastModifiedDate":"2020-05-24"},{"lineNumber":11,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-24"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-24"}],"authorContributionMap":{"ICubE-":2,"-":10}}] +[{"path":"build.gradle","fileType":"other","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"plugins {","lastModifiedDate":"2020-05-25"},{"lineNumber":2,"author":{"gitId":"-"},"content":" id \u0027java\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":3,"author":{"gitId":"-"},"content":" id \u0027application\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":4,"author":{"gitId":"-"},"content":" id \u0027checkstyle\u0027","lastModifiedDate":"2020-05-25"},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027","lastModifiedDate":"2022-06-17"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":7,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":8,"author":{"gitId":"-"},"content":"repositories {","lastModifiedDate":"2020-05-25"},{"lineNumber":9,"author":{"gitId":"-"},"content":" mavenCentral()","lastModifiedDate":"2020-05-25"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":11,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":12,"author":{"gitId":"-"},"content":"dependencies {","lastModifiedDate":"2020-05-25"},{"lineNumber":13,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":14,"author":{"gitId":"-"},"content":" testRuntimeOnly group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: \u00275.10.0\u0027","lastModifiedDate":"2023-08-05"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":16,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":17,"author":{"gitId":"-"},"content":"test {","lastModifiedDate":"2020-05-25"},{"lineNumber":18,"author":{"gitId":"-"},"content":" useJUnitPlatform()","lastModifiedDate":"2020-05-25"},{"lineNumber":19,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":20,"author":{"gitId":"-"},"content":" testLogging {","lastModifiedDate":"2020-05-25"},{"lineNumber":21,"author":{"gitId":"-"},"content":" events \"passed\", \"skipped\", \"failed\"","lastModifiedDate":"2020-05-25"},{"lineNumber":22,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":23,"author":{"gitId":"-"},"content":" showExceptions true","lastModifiedDate":"2020-05-25"},{"lineNumber":24,"author":{"gitId":"-"},"content":" exceptionFormat \"full\"","lastModifiedDate":"2020-05-25"},{"lineNumber":25,"author":{"gitId":"-"},"content":" showCauses true","lastModifiedDate":"2020-05-25"},{"lineNumber":26,"author":{"gitId":"-"},"content":" showStackTraces true","lastModifiedDate":"2020-05-25"},{"lineNumber":27,"author":{"gitId":"-"},"content":" showStandardStreams \u003d false","lastModifiedDate":"2020-05-25"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-25"},{"lineNumber":29,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":30,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":31,"author":{"gitId":"-"},"content":"application {","lastModifiedDate":"2020-05-25"},{"lineNumber":32,"author":{"gitId":"ICubE-"},"content":" mainClass.set(\"fittrack.FitTrack\")","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":34,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":35,"author":{"gitId":"-"},"content":"shadowJar {","lastModifiedDate":"2020-05-25"},{"lineNumber":36,"author":{"gitId":"-"},"content":" archiveBaseName.set(\"duke\")","lastModifiedDate":"2023-09-24"},{"lineNumber":37,"author":{"gitId":"-"},"content":" archiveClassifier.set(\"\")","lastModifiedDate":"2023-09-24"},{"lineNumber":38,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":39,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":40,"author":{"gitId":"-"},"content":"checkstyle {","lastModifiedDate":"2020-05-25"},{"lineNumber":41,"author":{"gitId":"-"},"content":" toolVersion \u003d \u002710.2\u0027","lastModifiedDate":"2022-04-29"},{"lineNumber":42,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"},{"lineNumber":43,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-25"},{"lineNumber":44,"author":{"gitId":"-"},"content":"run{","lastModifiedDate":"2020-05-25"},{"lineNumber":45,"author":{"gitId":"-"},"content":" standardInput \u003d System.in","lastModifiedDate":"2020-05-25"},{"lineNumber":46,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-25"}],"authorContributionMap":{"ICubE-":1,"-":45}},{"path":"docs/AboutUs.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# About us","lastModifiedDate":"2020-05-24"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"-"},"content":"Display | Name | Github Profile | Portfolio ","lastModifiedDate":"2020-05-24"},{"lineNumber":4,"author":{"gitId":"J0shuaLeong"},"content":"--------|:------------:|:----------------------------------------:|:---------:","lastModifiedDate":"2023-10-06"},{"lineNumber":5,"author":{"gitId":"farissirraj"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Faris Sirraj | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Yeon Jeho | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":7,"author":{"gitId":"J0shuaLeong"},"content":"\u003cimg src\u003d\"images/joshua.jpg\" width \u003d 25% height \u003d 25%\u003e | Joshua Leong | [Github](https://github.com/J0shuaLeong) | [Portfolio](docs/team/joshua.md)","lastModifiedDate":"2023-10-07"},{"lineNumber":8,"author":{"gitId":"NgLixuanNixon"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Ng Lixuan Nixon | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":9,"author":{"gitId":"marklin2234"},"content":"![](https://via.placeholder.com/100.png?text\u003dPhoto) | Mark Lin | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)","lastModifiedDate":"2023-10-04"},{"lineNumber":10,"author":{"gitId":"NgLixuanNixon"},"content":"","lastModifiedDate":"2023-10-04"}],"authorContributionMap":{"NgLixuanNixon":2,"J0shuaLeong":2,"ICubE-":1,"marklin2234":1,"-":3,"farissirraj":1}},{"path":"docs/team/joshua.md","fileType":"docs","lines":[{"lineNumber":1,"author":{"gitId":"J0shuaLeong"},"content":"# Joshua - Project Portfolio Page","lastModifiedDate":"2023-10-06"},{"lineNumber":2,"author":{"gitId":"J0shuaLeong"},"content":"","lastModifiedDate":"2023-10-06"},{"lineNumber":3,"author":{"gitId":"J0shuaLeong"},"content":"## Overview","lastModifiedDate":"2023-10-06"},{"lineNumber":4,"author":{"gitId":"J0shuaLeong"},"content":"","lastModifiedDate":"2023-10-06"},{"lineNumber":5,"author":{"gitId":"J0shuaLeong"},"content":"","lastModifiedDate":"2023-10-06"},{"lineNumber":6,"author":{"gitId":"J0shuaLeong"},"content":"### Summary of Contributions","lastModifiedDate":"2023-10-06"}],"authorContributionMap":{"J0shuaLeong":6}},{"path":"src/main/java/fittrack/FitTrack.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.Command;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.CommandResult;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.ExitCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" * Represents the main part of FitTrack.","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":"public class FitTrack {","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":" private final UserProfile userProfile;","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" private final MealList meals;","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" private final WorkList works;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":" private final Ui ui;","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":" private FitTrack() {","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" ui \u003d new Ui();","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" userProfile \u003d new UserProfile();","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" meals \u003d new MealList();","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":" works \u003d new WorkList();","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"ICubE-"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"ICubE-"},"content":" * Main entry-point for the FitTrack application.","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"ICubE-"},"content":" public static void main(String[] args) {","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"ICubE-"},"content":" new FitTrack().run();","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"ICubE-"},"content":" private void run() {","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"ICubE-"},"content":" start();","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"ICubE-"},"content":" loopCommandExecution();","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"ICubE-"},"content":" end();","lastModifiedDate":"2023-10-09"},{"lineNumber":36,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":38,"author":{"gitId":"ICubE-"},"content":" private void start() {","lastModifiedDate":"2023-10-09"},{"lineNumber":39,"author":{"gitId":"ICubE-"},"content":" ui.printWelcome();","lastModifiedDate":"2023-10-09"},{"lineNumber":40,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":41,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":42,"author":{"gitId":"ICubE-"},"content":" private void loopCommandExecution() {","lastModifiedDate":"2023-10-09"},{"lineNumber":43,"author":{"gitId":"ICubE-"},"content":" Command command;","lastModifiedDate":"2023-10-09"},{"lineNumber":44,"author":{"gitId":"ICubE-"},"content":" do {","lastModifiedDate":"2023-10-09"},{"lineNumber":45,"author":{"gitId":"ICubE-"},"content":" String userCommandLine \u003d ui.scanCommandLine();","lastModifiedDate":"2023-10-09"},{"lineNumber":46,"author":{"gitId":"ICubE-"},"content":" command \u003d new CommandParser().parseCommand(userCommandLine);","lastModifiedDate":"2023-10-09"},{"lineNumber":47,"author":{"gitId":"ICubE-"},"content":" CommandResult commandResult \u003d executeCommand(command);","lastModifiedDate":"2023-10-09"},{"lineNumber":48,"author":{"gitId":"ICubE-"},"content":" ui.printCommandResult(commandResult);","lastModifiedDate":"2023-10-09"},{"lineNumber":49,"author":{"gitId":"ICubE-"},"content":" } while (!ExitCommand.isExit(command));","lastModifiedDate":"2023-10-09"},{"lineNumber":50,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":51,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":52,"author":{"gitId":"ICubE-"},"content":" private CommandResult executeCommand(Command command) {","lastModifiedDate":"2023-10-09"},{"lineNumber":53,"author":{"gitId":"ICubE-"},"content":" command.setData(userProfile, meals, works);","lastModifiedDate":"2023-10-09"},{"lineNumber":54,"author":{"gitId":"ICubE-"},"content":" return command.execute();","lastModifiedDate":"2023-10-09"},{"lineNumber":55,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":56,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":57,"author":{"gitId":"ICubE-"},"content":" private void end() {","lastModifiedDate":"2023-10-09"},{"lineNumber":58,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":59,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":59}},{"path":"src/main/java/fittrack/MealList.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class MealList {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":4}},{"path":"src/main/java/fittrack/Ui.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.CommandResult;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"import java.util.Scanner;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"/**","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" * Represents the user interface of FitTrack.","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":"public class Ui {","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" private final Scanner in;","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" * Constructs UI of FitTrack.","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" public Ui() {","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":" in \u003d new Scanner(System.in);","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" * Scans a line from the user input.","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"ICubE-"},"content":" * @return user input as a line of string","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"ICubE-"},"content":" private String scanNextLine() {","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"ICubE-"},"content":" return in.nextLine();","lastModifiedDate":"2023-10-09"},{"lineNumber":27,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":28,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"ICubE-"},"content":" /**","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"ICubE-"},"content":" * Scans a command line from the user input.","lastModifiedDate":"2023-10-09"},{"lineNumber":31,"author":{"gitId":"ICubE-"},"content":" *","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"ICubE-"},"content":" * @return command line as a line of string","lastModifiedDate":"2023-10-09"},{"lineNumber":33,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"ICubE-"},"content":" public String scanCommandLine() {","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"ICubE-"},"content":" return scanNextLine();","lastModifiedDate":"2023-10-09"},{"lineNumber":36,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":38,"author":{"gitId":"ICubE-"},"content":" public void printBlankLine() {","lastModifiedDate":"2023-10-10"},{"lineNumber":39,"author":{"gitId":"ICubE-"},"content":" System.out.println();","lastModifiedDate":"2023-10-10"},{"lineNumber":40,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":41,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":42,"author":{"gitId":"ICubE-"},"content":" public void printWelcome() {","lastModifiedDate":"2023-10-09"},{"lineNumber":43,"author":{"gitId":"ICubE-"},"content":" System.out.println(\"Welcome!\");","lastModifiedDate":"2023-10-09"},{"lineNumber":44,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":45,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":46,"author":{"gitId":"ICubE-"},"content":" public void printCommandResult(CommandResult commandResult) {","lastModifiedDate":"2023-10-09"},{"lineNumber":47,"author":{"gitId":"ICubE-"},"content":" System.out.println(commandResult.getFeedback());","lastModifiedDate":"2023-10-09"},{"lineNumber":48,"author":{"gitId":"ICubE-"},"content":" printBlankLine();","lastModifiedDate":"2023-10-10"},{"lineNumber":49,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":50,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":50}},{"path":"src/main/java/fittrack/UserProfile.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class UserProfile {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":4}},{"path":"src/main/java/fittrack/WorkList.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class WorkList {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":4}},{"path":"src/main/java/fittrack/command/AddMealCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"public class AddMealCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"addmeal\";","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":22}},{"path":"src/main/java/fittrack/command/AddWorkCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"public class AddWorkCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"addwork\";","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":22}},{"path":"src/main/java/fittrack/command/CheckCalorieSurplusLimitCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"farissirraj"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"farissirraj"},"content":"public class CheckCalorieSurplusLimitCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"farissirraj"},"content":" public static final String COMMAND_WORD \u003d \"checkCSL\";","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"farissirraj"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"farissirraj"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"farissirraj"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"farissirraj"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"farissirraj"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":12,"farissirraj":10}},{"path":"src/main/java/fittrack/command/CheckHeightCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"farissirraj"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"farissirraj"},"content":"public class CheckHeightCommand extends Command{","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"farissirraj"},"content":" public static final String COMMAND_WORD \u003d \"checkHeight\";","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"farissirraj"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"farissirraj"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"farissirraj"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"farissirraj"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"farissirraj"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":12,"farissirraj":10}},{"path":"src/main/java/fittrack/command/CheckWeightCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"farissirraj"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"farissirraj"},"content":"public class CheckWeightCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"farissirraj"},"content":" public static final String COMMAND_WORD \u003d \"checkWeight\";","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"farissirraj"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"farissirraj"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"farissirraj"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"farissirraj"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"farissirraj"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":12,"farissirraj":10}},{"path":"src/main/java/fittrack/command/Command.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.MealList;","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"import fittrack.UserProfile;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"import fittrack.WorkList;","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":"public abstract class Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" protected UserProfile userProfile;","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" protected MealList mealList;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" protected WorkList workList;","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" /**","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" * Set data of the command for execution.","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":" *","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" * @param userProfile user profile","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":" * @param mealList meal list","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" * @param workList work list","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" public void setData(UserProfile userProfile, MealList mealList, WorkList workList) {","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" this.userProfile \u003d userProfile;","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":" this.mealList \u003d mealList;","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"ICubE-"},"content":" this.workList \u003d workList;","lastModifiedDate":"2023-10-09"},{"lineNumber":24,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":25,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":26,"author":{"gitId":"ICubE-"},"content":" /**","lastModifiedDate":"2023-10-10"},{"lineNumber":27,"author":{"gitId":"ICubE-"},"content":" * Execute the command.","lastModifiedDate":"2023-10-10"},{"lineNumber":28,"author":{"gitId":"ICubE-"},"content":" *","lastModifiedDate":"2023-10-10"},{"lineNumber":29,"author":{"gitId":"ICubE-"},"content":" * @return result of the execution","lastModifiedDate":"2023-10-10"},{"lineNumber":30,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-10"},{"lineNumber":31,"author":{"gitId":"ICubE-"},"content":" public abstract CommandResult execute();","lastModifiedDate":"2023-10-09"},{"lineNumber":32,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":33,"author":{"gitId":"ICubE-"},"content":" /**","lastModifiedDate":"2023-10-10"},{"lineNumber":34,"author":{"gitId":"ICubE-"},"content":" * Apply arguments to its field using parser.","lastModifiedDate":"2023-10-10"},{"lineNumber":35,"author":{"gitId":"ICubE-"},"content":" *","lastModifiedDate":"2023-10-10"},{"lineNumber":36,"author":{"gitId":"ICubE-"},"content":" * @param args arguments as a string","lastModifiedDate":"2023-10-10"},{"lineNumber":37,"author":{"gitId":"ICubE-"},"content":" * @param parser parser","lastModifiedDate":"2023-10-10"},{"lineNumber":38,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-10"},{"lineNumber":39,"author":{"gitId":"ICubE-"},"content":" public abstract void setArguments(String args, CommandParser parser);","lastModifiedDate":"2023-10-10"},{"lineNumber":40,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":41,"author":{"gitId":"ICubE-"},"content":" /**","lastModifiedDate":"2023-10-10"},{"lineNumber":42,"author":{"gitId":"ICubE-"},"content":" * Returns help of the command.","lastModifiedDate":"2023-10-10"},{"lineNumber":43,"author":{"gitId":"ICubE-"},"content":" *","lastModifiedDate":"2023-10-10"},{"lineNumber":44,"author":{"gitId":"ICubE-"},"content":" * @return help","lastModifiedDate":"2023-10-10"},{"lineNumber":45,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-10"},{"lineNumber":46,"author":{"gitId":"ICubE-"},"content":" protected abstract String getHelp();","lastModifiedDate":"2023-10-10"},{"lineNumber":47,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":47}},{"path":"src/main/java/fittrack/command/CommandResult.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class CommandResult {","lastModifiedDate":"2023-10-09"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":" private String feedback;","lastModifiedDate":"2023-10-09"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" public CommandResult(String feedback) {","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":" setFeedback(feedback);","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" public String getFeedback() {","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" return feedback;","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public void setFeedback(String feedback) {","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":" this.feedback \u003d feedback;","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":17}},{"path":"src/main/java/fittrack/command/DeleteMealCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"public class DeleteMealCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"deletemeal\";","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":22}},{"path":"src/main/java/fittrack/command/DeleteWorkCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"public class DeleteWorkCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"deletework\";","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":22}},{"path":"src/main/java/fittrack/command/EditProfileCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"public class EditProfileCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"editprofile\";","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":22}},{"path":"src/main/java/fittrack/command/ExitCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"public class ExitCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"exit\";","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":" private static final String DESCRIPTION \u003d \"`\" + COMMAND_WORD + \"` makes you to exit this program.\";","lastModifiedDate":"2023-10-10"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" private static final String USAGE \u003d \"Type `exit` to exit.\";","lastModifiedDate":"2023-10-10"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" private static final String HELP \u003d DESCRIPTION + \"\\n\" + USAGE;","lastModifiedDate":"2023-10-10"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" private static final String MESSAGE_EXIT \u003d \"bye!\";","lastModifiedDate":"2023-10-10"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" public static boolean isExit(Command command) {","lastModifiedDate":"2023-10-09"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" return command instanceof ExitCommand;","lastModifiedDate":"2023-10-09"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" return new CommandResult(MESSAGE_EXIT);","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":23,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":24,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":25,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":26,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":27,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":28,"author":{"gitId":"ICubE-"},"content":" return HELP;","lastModifiedDate":"2023-10-10"},{"lineNumber":29,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":30,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":30}},{"path":"src/main/java/fittrack/command/HelpCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"import static fittrack.parser.CommandParser.ALL_COMMAND_WORDS;","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"public class HelpCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"help\";","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" private static final String DESCRIPTION \u003d \"`\" + COMMAND_WORD + \"` shows help message of the command.\";","lastModifiedDate":"2023-10-10"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" private static final String KNOWN_COMMANDS \u003d \"Existing commands:\\n\" + ALL_COMMAND_WORDS;","lastModifiedDate":"2023-10-10"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":" private static final String USAGE \u003d \"Type `help` or `help \u003cCOMMAND\u003e` to view help.\";","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" private static final String HELP \u003d DESCRIPTION + \"\\n\" + KNOWN_COMMANDS + \"\\n\" + USAGE;","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":" private static final String MESSAGE_INVALID_COMMAND \u003d \"`%s` is an invalid command.\\n\" + USAGE;","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":" private String helpMessage;","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" return new CommandResult(helpMessage);","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":23,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":24,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":25,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":26,"author":{"gitId":"ICubE-"},"content":" String word \u003d parser.getFirstWord(args);","lastModifiedDate":"2023-10-10"},{"lineNumber":27,"author":{"gitId":"ICubE-"},"content":" if (word.isEmpty()) {","lastModifiedDate":"2023-10-10"},{"lineNumber":28,"author":{"gitId":"ICubE-"},"content":" helpMessage \u003d getHelp();","lastModifiedDate":"2023-10-10"},{"lineNumber":29,"author":{"gitId":"ICubE-"},"content":" return;","lastModifiedDate":"2023-10-10"},{"lineNumber":30,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":31,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":32,"author":{"gitId":"ICubE-"},"content":" Command blankCommand \u003d parser.getBlankCommand(word);","lastModifiedDate":"2023-10-10"},{"lineNumber":33,"author":{"gitId":"ICubE-"},"content":" if (blankCommand instanceof InvalidCommand) {","lastModifiedDate":"2023-10-10"},{"lineNumber":34,"author":{"gitId":"ICubE-"},"content":" helpMessage \u003d String.format(MESSAGE_INVALID_COMMAND, word);","lastModifiedDate":"2023-10-10"},{"lineNumber":35,"author":{"gitId":"ICubE-"},"content":" return;","lastModifiedDate":"2023-10-10"},{"lineNumber":36,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":37,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":38,"author":{"gitId":"ICubE-"},"content":" helpMessage \u003d blankCommand.getHelp();","lastModifiedDate":"2023-10-10"},{"lineNumber":39,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":40,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":41,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":42,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":43,"author":{"gitId":"ICubE-"},"content":" return HELP;","lastModifiedDate":"2023-10-10"},{"lineNumber":44,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":45,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":45}},{"path":"src/main/java/fittrack/command/InvalidCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"public class InvalidCommand extends Command {","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" private final String inputWord;","lastModifiedDate":"2023-10-10"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":" private HelpCommand helpCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" public InvalidCommand(String inputWord) {","lastModifiedDate":"2023-10-10"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" this.inputWord \u003d inputWord;","lastModifiedDate":"2023-10-10"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":" return helpCommand.execute();","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" helpCommand \u003d new HelpCommand();","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" helpCommand.setArguments(inputWord, parser);","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":23,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":24,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":25,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":26,"author":{"gitId":"ICubE-"},"content":" throw new UnsupportedOperationException();","lastModifiedDate":"2023-10-10"},{"lineNumber":27,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":28,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-10"}],"authorContributionMap":{"ICubE-":28}},{"path":"src/main/java/fittrack/command/ListWorkoutCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"farissirraj"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"farissirraj"},"content":"public class ListWorkoutCommand extends Command{","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"farissirraj"},"content":" public static final String COMMAND_WORD \u003d \"listWorkout\";","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"farissirraj"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"farissirraj"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"farissirraj"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"farissirraj"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"farissirraj"},"content":"}","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":12,"farissirraj":11}},{"path":"src/main/java/fittrack/command/SetCalorieSurplusLimitCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"public class SetCalorieSurplusLimitCommand extends Command {","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":" public static final String COMMAND_WORD \u003d \"setlimit\";","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":22}},{"path":"src/main/java/fittrack/command/SetDailyCalorieLimitCommand.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"farissirraj"},"content":"package fittrack.command;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.parser.CommandParser;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"farissirraj"},"content":"public class SetDailyCalorieLimitCommand extends Command{","lastModifiedDate":"2023-10-09"},{"lineNumber":6,"author":{"gitId":"farissirraj"},"content":" public static final String COMMAND_WORD \u003d \"setDCL\";","lastModifiedDate":"2023-10-09"},{"lineNumber":7,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"farissirraj"},"content":" @Override","lastModifiedDate":"2023-10-09"},{"lineNumber":9,"author":{"gitId":"farissirraj"},"content":" public CommandResult execute() {","lastModifiedDate":"2023-10-09"},{"lineNumber":10,"author":{"gitId":"farissirraj"},"content":" return null;","lastModifiedDate":"2023-10-09"},{"lineNumber":11,"author":{"gitId":"farissirraj"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":" public void setArguments(String args, CommandParser parser) {","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":" @Override","lastModifiedDate":"2023-10-10"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":" protected String getHelp() {","lastModifiedDate":"2023-10-10"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":" return null;","lastModifiedDate":"2023-10-10"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":22,"author":{"gitId":"farissirraj"},"content":"}","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"farissirraj"},"content":"","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":12,"farissirraj":11}},{"path":"src/main/java/fittrack/parser/CommandParser.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.parser;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.AddMealCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.AddWorkCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":5,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.CheckCalorieSurplusLimitCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":6,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.CheckHeightCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.CheckWeightCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":8,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.Command;","lastModifiedDate":"2023-10-10"},{"lineNumber":9,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.DeleteMealCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":10,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.DeleteWorkCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":11,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.EditProfileCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":12,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.ExitCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":13,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.HelpCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":14,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.InvalidCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":15,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.ListWorkoutCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":16,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.SetCalorieSurplusLimitCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":17,"author":{"gitId":"ICubE-"},"content":"import fittrack.command.SetDailyCalorieLimitCommand;","lastModifiedDate":"2023-10-10"},{"lineNumber":18,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":19,"author":{"gitId":"ICubE-"},"content":"import java.util.regex.Matcher;","lastModifiedDate":"2023-10-09"},{"lineNumber":20,"author":{"gitId":"ICubE-"},"content":"import java.util.regex.Pattern;","lastModifiedDate":"2023-10-09"},{"lineNumber":21,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":22,"author":{"gitId":"ICubE-"},"content":"public class CommandParser {","lastModifiedDate":"2023-10-09"},{"lineNumber":23,"author":{"gitId":"ICubE-"},"content":" // This constant has to be changed whenever any command is added.","lastModifiedDate":"2023-10-10"},{"lineNumber":24,"author":{"gitId":"ICubE-"},"content":" public static final String ALL_COMMAND_WORDS \u003d","lastModifiedDate":"2023-10-10"},{"lineNumber":25,"author":{"gitId":"ICubE-"},"content":" \"help, exit, editprofile, addmeal, deletemeal, addwork, deletework, setlimit, listall\";","lastModifiedDate":"2023-10-10"},{"lineNumber":26,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":27,"author":{"gitId":"ICubE-"},"content":" private static final Pattern COMMAND_PATTERN \u003d Pattern.compile(","lastModifiedDate":"2023-10-10"},{"lineNumber":28,"author":{"gitId":"ICubE-"},"content":" \"(?\u003cword\u003e\\\\S+)(?\u003cargs\u003e.*)\"","lastModifiedDate":"2023-10-09"},{"lineNumber":29,"author":{"gitId":"ICubE-"},"content":" );","lastModifiedDate":"2023-10-09"},{"lineNumber":30,"author":{"gitId":"ICubE-"},"content":" private static final Pattern PROFILE_PATTERN \u003d Pattern.compile(","lastModifiedDate":"2023-10-10"},{"lineNumber":31,"author":{"gitId":"ICubE-"},"content":" \"h/(?\u003cheight\u003e\\\\S+)\\\\s+w/(?\u003cweight\u003e\\\\S+)\"","lastModifiedDate":"2023-10-10"},{"lineNumber":32,"author":{"gitId":"ICubE-"},"content":" );","lastModifiedDate":"2023-10-10"},{"lineNumber":33,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":34,"author":{"gitId":"ICubE-"},"content":" public Command parseCommand(String userCommandLine) {","lastModifiedDate":"2023-10-09"},{"lineNumber":35,"author":{"gitId":"ICubE-"},"content":" final Matcher matcher \u003d COMMAND_PATTERN.matcher(userCommandLine.strip());","lastModifiedDate":"2023-10-10"},{"lineNumber":36,"author":{"gitId":"ICubE-"},"content":" if (!matcher.matches()) {","lastModifiedDate":"2023-10-09"},{"lineNumber":37,"author":{"gitId":"ICubE-"},"content":" Command command \u003d new InvalidCommand(userCommandLine);","lastModifiedDate":"2023-10-10"},{"lineNumber":38,"author":{"gitId":"ICubE-"},"content":" command.setArguments(null, this);","lastModifiedDate":"2023-10-10"},{"lineNumber":39,"author":{"gitId":"ICubE-"},"content":" return command;","lastModifiedDate":"2023-10-10"},{"lineNumber":40,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":41,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":42,"author":{"gitId":"ICubE-"},"content":" final String word \u003d matcher.group(\"word\").strip();","lastModifiedDate":"2023-10-10"},{"lineNumber":43,"author":{"gitId":"ICubE-"},"content":" final String args \u003d matcher.group(\"args\").strip();","lastModifiedDate":"2023-10-10"},{"lineNumber":44,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":45,"author":{"gitId":"ICubE-"},"content":" Command command \u003d getBlankCommand(word);","lastModifiedDate":"2023-10-10"},{"lineNumber":46,"author":{"gitId":"ICubE-"},"content":" command.setArguments(args, this);","lastModifiedDate":"2023-10-10"},{"lineNumber":47,"author":{"gitId":"ICubE-"},"content":" return command;","lastModifiedDate":"2023-10-10"},{"lineNumber":48,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":49,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-09"},{"lineNumber":50,"author":{"gitId":"ICubE-"},"content":" public Command getBlankCommand(String word) {","lastModifiedDate":"2023-10-10"},{"lineNumber":51,"author":{"gitId":"ICubE-"},"content":" switch (word) {","lastModifiedDate":"2023-10-09"},{"lineNumber":52,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":53,"author":{"gitId":"ICubE-"},"content":" case HelpCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-10"},{"lineNumber":54,"author":{"gitId":"ICubE-"},"content":" return new HelpCommand();","lastModifiedDate":"2023-10-10"},{"lineNumber":55,"author":{"gitId":"ICubE-"},"content":" case ExitCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":56,"author":{"gitId":"ICubE-"},"content":" return new ExitCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":57,"author":{"gitId":"ICubE-"},"content":" case EditProfileCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":58,"author":{"gitId":"ICubE-"},"content":" return new EditProfileCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":59,"author":{"gitId":"ICubE-"},"content":" case AddMealCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":60,"author":{"gitId":"ICubE-"},"content":" return new AddMealCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":61,"author":{"gitId":"ICubE-"},"content":" case DeleteMealCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":62,"author":{"gitId":"ICubE-"},"content":" return new DeleteMealCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":63,"author":{"gitId":"ICubE-"},"content":" case AddWorkCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":64,"author":{"gitId":"ICubE-"},"content":" return new AddWorkCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":65,"author":{"gitId":"ICubE-"},"content":" case DeleteWorkCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":66,"author":{"gitId":"ICubE-"},"content":" return new DeleteWorkCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":67,"author":{"gitId":"ICubE-"},"content":" case SetCalorieSurplusLimitCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":68,"author":{"gitId":"ICubE-"},"content":" return new SetCalorieSurplusLimitCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":69,"author":{"gitId":"farissirraj"},"content":" case CheckHeightCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":70,"author":{"gitId":"farissirraj"},"content":" return new CheckHeightCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":71,"author":{"gitId":"farissirraj"},"content":" case CheckWeightCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":72,"author":{"gitId":"farissirraj"},"content":" return new CheckWeightCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":73,"author":{"gitId":"farissirraj"},"content":" case CheckCalorieSurplusLimitCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":74,"author":{"gitId":"farissirraj"},"content":" return new CheckCalorieSurplusLimitCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":75,"author":{"gitId":"farissirraj"},"content":" case ListWorkoutCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":76,"author":{"gitId":"farissirraj"},"content":" return new ListWorkoutCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":77,"author":{"gitId":"farissirraj"},"content":" case SetDailyCalorieLimitCommand.COMMAND_WORD:","lastModifiedDate":"2023-10-09"},{"lineNumber":78,"author":{"gitId":"farissirraj"},"content":" return new SetDailyCalorieLimitCommand();","lastModifiedDate":"2023-10-09"},{"lineNumber":79,"author":{"gitId":"ICubE-"},"content":" default:","lastModifiedDate":"2023-10-09"},{"lineNumber":80,"author":{"gitId":"ICubE-"},"content":" return new InvalidCommand(word);","lastModifiedDate":"2023-10-10"},{"lineNumber":81,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":82,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-09"},{"lineNumber":83,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":84,"author":{"gitId":"ICubE-"},"content":" /**","lastModifiedDate":"2023-10-10"},{"lineNumber":85,"author":{"gitId":"ICubE-"},"content":" * Parses user profile, format of `h/(HEIGHT) w/(WEIGHT)`.","lastModifiedDate":"2023-10-10"},{"lineNumber":86,"author":{"gitId":"ICubE-"},"content":" * @param profile profile as a string","lastModifiedDate":"2023-10-10"},{"lineNumber":87,"author":{"gitId":"ICubE-"},"content":" * @return height and weight as a double array","lastModifiedDate":"2023-10-10"},{"lineNumber":88,"author":{"gitId":"ICubE-"},"content":" * @throws RegexMatchFailException if regex match fails","lastModifiedDate":"2023-10-10"},{"lineNumber":89,"author":{"gitId":"ICubE-"},"content":" * @throws NumberFormatException if one of arguments is not double","lastModifiedDate":"2023-10-10"},{"lineNumber":90,"author":{"gitId":"ICubE-"},"content":" */","lastModifiedDate":"2023-10-10"},{"lineNumber":91,"author":{"gitId":"ICubE-"},"content":" public double[] parseProfile(String profile) throws RegexMatchFailException, NumberFormatException {","lastModifiedDate":"2023-10-10"},{"lineNumber":92,"author":{"gitId":"ICubE-"},"content":" final Matcher matcher \u003d PROFILE_PATTERN.matcher(profile);","lastModifiedDate":"2023-10-10"},{"lineNumber":93,"author":{"gitId":"ICubE-"},"content":" if (!matcher.matches()) {","lastModifiedDate":"2023-10-10"},{"lineNumber":94,"author":{"gitId":"ICubE-"},"content":" throw new RegexMatchFailException();","lastModifiedDate":"2023-10-10"},{"lineNumber":95,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":96,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":97,"author":{"gitId":"ICubE-"},"content":" final String height \u003d matcher.group(\"height\");","lastModifiedDate":"2023-10-10"},{"lineNumber":98,"author":{"gitId":"ICubE-"},"content":" final String weight \u003d matcher.group(\"weight\");","lastModifiedDate":"2023-10-10"},{"lineNumber":99,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":100,"author":{"gitId":"ICubE-"},"content":" return new double[]{ Double.parseDouble(height), Double.parseDouble(weight) };","lastModifiedDate":"2023-10-10"},{"lineNumber":101,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":102,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":103,"author":{"gitId":"ICubE-"},"content":" public String getFirstWord(String str) {","lastModifiedDate":"2023-10-10"},{"lineNumber":104,"author":{"gitId":"ICubE-"},"content":" return str.split(\"\\\\s\")[0];","lastModifiedDate":"2023-10-10"},{"lineNumber":105,"author":{"gitId":"ICubE-"},"content":" }","lastModifiedDate":"2023-10-10"},{"lineNumber":106,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-09"}],"authorContributionMap":{"ICubE-":96,"farissirraj":10}},{"path":"src/main/java/fittrack/parser/ParseException.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.parser;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class ParseException extends Exception {","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-10"}],"authorContributionMap":{"ICubE-":4}},{"path":"src/main/java/fittrack/parser/RegexMatchFailException.java","fileType":"functional-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack.parser;","lastModifiedDate":"2023-10-10"},{"lineNumber":2,"author":{"gitId":"ICubE-"},"content":"","lastModifiedDate":"2023-10-10"},{"lineNumber":3,"author":{"gitId":"ICubE-"},"content":"public class RegexMatchFailException extends ParseException {","lastModifiedDate":"2023-10-10"},{"lineNumber":4,"author":{"gitId":"ICubE-"},"content":"}","lastModifiedDate":"2023-10-10"}],"authorContributionMap":{"ICubE-":4}},{"path":"src/test/java/fittrack/FitTrackTest.java","fileType":"test-code","lines":[{"lineNumber":1,"author":{"gitId":"ICubE-"},"content":"package fittrack;","lastModifiedDate":"2023-10-09"},{"lineNumber":2,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertTrue;","lastModifiedDate":"2020-05-24"},{"lineNumber":4,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;","lastModifiedDate":"2020-05-24"},{"lineNumber":6,"author":{"gitId":"-"},"content":"","lastModifiedDate":"2020-05-24"},{"lineNumber":7,"author":{"gitId":"ICubE-"},"content":"class FitTrackTest {","lastModifiedDate":"2023-10-09"},{"lineNumber":8,"author":{"gitId":"-"},"content":" @Test","lastModifiedDate":"2020-05-24"},{"lineNumber":9,"author":{"gitId":"-"},"content":" public void sampleTest() {","lastModifiedDate":"2020-05-24"},{"lineNumber":10,"author":{"gitId":"-"},"content":" assertTrue(true);","lastModifiedDate":"2020-05-24"},{"lineNumber":11,"author":{"gitId":"-"},"content":" }","lastModifiedDate":"2020-05-24"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}","lastModifiedDate":"2020-05-24"}],"authorContributionMap":{"ICubE-":2,"-":10}}] diff --git a/AY2324S1-CS2113-W12-4_tp_master/commits.json b/AY2324S1-CS2113-W12-4_tp_master/commits.json index 20db0e4..8753616 100644 --- a/AY2324S1-CS2113-W12-4_tp_master/commits.json +++ b/AY2324S1-CS2113-W12-4_tp_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"NgLixuanNixon":[{"date":"2023-10-04","commitResults":[{"hash":"4ab6262ae774e0814318657e4c558d6cc3350673","isMergeCommit":false,"messageTitle":"no message","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}},{"hash":"101aed2384bcb8998fc22b98f9e0e60fe4db98a1","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-4/tp","messageBody":"# Conflicts:\n#\tdocs/AboutUs.md\n","fileTypesAndContributionMap":{}},{"hash":"8ba23607fabe7e06789e5d3f3e43be80846d20d6","isMergeCommit":true,"messageTitle":"Merge pull request #4 from NgLixuanNixon/master","messageBody":"no message","fileTypesAndContributionMap":{}}]}],"J0shuaLeong":[{"date":"2023-10-04","commitResults":[{"hash":"39225c42663245b93019510083b7e04ff9cb9da8","isMergeCommit":false,"messageTitle":"Testing merge conflicts (#1)","messageBody":"Co-authored-by: J0shuaLeong \u003cjoshualeong2607@gmail.com\u003e","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":2}}}]},{"date":"2023-10-06","commitResults":[{"hash":"12ea145c28769e5788ab86fcfb3c0f1c12034e40","isMergeCommit":false,"messageTitle":"Add Github Url (#5)","messageBody":"* Testing merge conflicts\r\n\r\n* Added url of Joshua\u0027s github account\r\n\r\n---------\r\n\r\nCo-authored-by: J0shuaLeong \u003cjoshualeong2607@gmail.com\u003e","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}},{"hash":"56f586e798bf3b7040b68cfc62cfd8387b56cfa8","isMergeCommit":false,"messageTitle":"Update about us (#6)","messageBody":"* Testing merge conflicts\r\n\r\n* Added url of Joshua\u0027s github account\r\n\r\n* Updated about us for Joshua\r\n\r\n---------\r\n\r\nCo-authored-by: J0shuaLeong \u003cjoshualeong2607@gmail.com\u003e","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":1}}}]},{"date":"2023-10-07","commitResults":[{"hash":"a2d753035d1753279501aa0248b3b77f0938735a","isMergeCommit":false,"messageTitle":"Updated images (#7)","messageBody":"* Testing merge conflicts\r\n\r\n* Added url of Joshua\u0027s github account\r\n\r\n* Updated about us for Joshua\r\n\r\n* Resized profile image\r\n\r\n---------\r\n\r\nCo-authored-by: J0shuaLeong \u003cjoshualeong2607@gmail.com\u003e","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]}],"ICubE-":[{"date":"2023-10-04","commitResults":[{"hash":"abbffb5b236ae12b40cbc1d1b417c696eb1895cb","isMergeCommit":false,"messageTitle":"Update AboutUs.md","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}},{"hash":"23e7c820a25b9502c982950501d8a63f4426d090","isMergeCommit":true,"messageTitle":"Resolve merge conflict","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"39e108362a8dae6e9420224e6a55b0ee160dbae5","isMergeCommit":true,"messageTitle":"Merge pull request #3 from ICubE-/master","messageBody":"Update AboutUs.md","fileTypesAndContributionMap":{}}]},{"date":"2023-10-09","commitResults":[{"hash":"7c693bb7c412eb7a6cfc6d7f099d7bb94aae2aeb","isMergeCommit":false,"messageTitle":"Construct main structure","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":51,"deletions":21},"other":{"insertions":2,"deletions":2}}},{"hash":"fb340aa0ea5ed0cd1c6dde8b051cbbcaa792194e","isMergeCommit":false,"messageTitle":"Fix style","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":7,"deletions":7}}},{"hash":"8912dea13964567d796fa4bbc76d55588b1ec207","isMergeCommit":false,"messageTitle":"Fix test","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":1,"deletions":1}}},{"hash":"86c0f2188bcea12f5a76d997b017234465006224","isMergeCommit":true,"messageTitle":"Merge pull request #19 from ICubE-/construct-main-structure","messageBody":"Construct main structure","fileTypesAndContributionMap":{}},{"hash":"f8d2bbcd00c0d11ae2629994771c4c164eaf0316","isMergeCommit":false,"messageTitle":"Add parser","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":242,"deletions":6}}},{"hash":"bd9b6f1918fe1e779ba23341f6d95e2bb2c92395","isMergeCommit":true,"messageTitle":"Merge pull request #21 from ICubE-/add-command-line-parser","messageBody":"Add parser","fileTypesAndContributionMap":{}}]}],"marklin2234":[{"date":"2023-10-04","commitResults":[{"hash":"9d5c2b2aeb519efd81570d45afba1fd7efd61325","isMergeCommit":false,"messageTitle":"change name (#2)","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":1}}}]}],"farissirraj":[{"date":"2023-10-04","commitResults":[{"hash":"d29c533ec8490161881211184e028eb258c44809","isMergeCommit":false,"messageTitle":"Change name in About Us","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}}]},{"date":"2023-10-09","commitResults":[{"hash":"7bb04d887d4ece7439d62030cfa67a5d840825c7","isMergeCommit":false,"messageTitle":"Create class for checking calorie surplus limit command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":10,"deletions":0}}},{"hash":"a212cb420bd3cf786e68bbddb94452a5d41867af","isMergeCommit":false,"messageTitle":"Create class for checking the height","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":10,"deletions":0}}},{"hash":"5d4b5515c143fe1c0f60dd65b5e86c6930cb7c12","isMergeCommit":false,"messageTitle":"Create class for checking the weight","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":10,"deletions":0}}},{"hash":"6042ca31a30101f604c269182bfe03db3c1d73f8","isMergeCommit":false,"messageTitle":"Create class for listing the workout","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":11,"deletions":0}}},{"hash":"7e623f8cf9bc78fc3ebdae9068637c23022448a5","isMergeCommit":false,"messageTitle":"Create class for setting the daily calorie limit","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":11,"deletions":0}}},{"hash":"040b81c6dceccbbf71d81692fcf9d7e04571af43","isMergeCommit":false,"messageTitle":"Update Command Parser Class with the new command class constructor calls","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":11,"deletions":11}}},{"hash":"26808bf357e853bc3f770f7ca8f9e01e92c45ed0","isMergeCommit":true,"messageTitle":"Merge pull request #22 from farissirraj/BasicCommands","messageBody":"Skeletal Implementation of Basic Commands","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"NgLixuanNixon":{"docs":2,"functional-code":0,"test-code":0},"J0shuaLeong":{"docs":8,"functional-code":0,"test-code":0},"ICubE-":{"docs":1,"functional-code":276,"test-code":2,"other":1},"marklin2234":{"docs":1,"functional-code":0,"test-code":0},"farissirraj":{"docs":1,"functional-code":63,"test-code":0}},"authorContributionVariance":{"NgLixuanNixon":10.28395,"J0shuaLeong":25.36111,"ICubE-":6046.334,"marklin2234":0.47222218,"farissirraj":291.2099},"authorDisplayNameMap":{"NgLixuanNixon":"CS2113-W12-4 NG L..IXON","J0shuaLeong":"CS2113-W12-4 LEON..SHUA","ICubE-":"CS2113-W12-4 YEON..JEHO","marklin2234":"CS2113-W12-4 LIN ..ZHAO","farissirraj":"CS2113-W12-4 FARI..RRAJ"}} +{"authorDailyContributionsMap":{"NgLixuanNixon":[{"date":"2023-10-04","commitResults":[{"hash":"4ab6262ae774e0814318657e4c558d6cc3350673","isMergeCommit":false,"messageTitle":"no message","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}},{"hash":"101aed2384bcb8998fc22b98f9e0e60fe4db98a1","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 of https://github.com/AY2324S1-CS2113-W12-4/tp","messageBody":"# Conflicts:\n#\tdocs/AboutUs.md\n","fileTypesAndContributionMap":{}},{"hash":"8ba23607fabe7e06789e5d3f3e43be80846d20d6","isMergeCommit":true,"messageTitle":"Merge pull request #4 from NgLixuanNixon/master","messageBody":"no message","fileTypesAndContributionMap":{}}]}],"J0shuaLeong":[{"date":"2023-10-04","commitResults":[{"hash":"39225c42663245b93019510083b7e04ff9cb9da8","isMergeCommit":false,"messageTitle":"Testing merge conflicts (#1)","messageBody":"Co-authored-by: J0shuaLeong \u003cjoshualeong2607@gmail.com\u003e","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":2}}}]},{"date":"2023-10-06","commitResults":[{"hash":"12ea145c28769e5788ab86fcfb3c0f1c12034e40","isMergeCommit":false,"messageTitle":"Add Github Url (#5)","messageBody":"* Testing merge conflicts\r\n\r\n* Added url of Joshua\u0027s github account\r\n\r\n---------\r\n\r\nCo-authored-by: J0shuaLeong \u003cjoshualeong2607@gmail.com\u003e","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}},{"hash":"56f586e798bf3b7040b68cfc62cfd8387b56cfa8","isMergeCommit":false,"messageTitle":"Update about us (#6)","messageBody":"* Testing merge conflicts\r\n\r\n* Added url of Joshua\u0027s github account\r\n\r\n* Updated about us for Joshua\r\n\r\n---------\r\n\r\nCo-authored-by: J0shuaLeong \u003cjoshualeong2607@gmail.com\u003e","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":1}}}]},{"date":"2023-10-07","commitResults":[{"hash":"a2d753035d1753279501aa0248b3b77f0938735a","isMergeCommit":false,"messageTitle":"Updated images (#7)","messageBody":"* Testing merge conflicts\r\n\r\n* Added url of Joshua\u0027s github account\r\n\r\n* Updated about us for Joshua\r\n\r\n* Resized profile image\r\n\r\n---------\r\n\r\nCo-authored-by: J0shuaLeong \u003cjoshualeong2607@gmail.com\u003e","fileTypesAndContributionMap":{"docs":{"insertions":1,"deletions":1}}}]}],"ICubE-":[{"date":"2023-10-04","commitResults":[{"hash":"abbffb5b236ae12b40cbc1d1b417c696eb1895cb","isMergeCommit":false,"messageTitle":"Update AboutUs.md","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}},{"hash":"23e7c820a25b9502c982950501d8a63f4426d090","isMergeCommit":true,"messageTitle":"Resolve merge conflict","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"39e108362a8dae6e9420224e6a55b0ee160dbae5","isMergeCommit":true,"messageTitle":"Merge pull request #3 from ICubE-/master","messageBody":"Update AboutUs.md","fileTypesAndContributionMap":{}}]},{"date":"2023-10-09","commitResults":[{"hash":"7c693bb7c412eb7a6cfc6d7f099d7bb94aae2aeb","isMergeCommit":false,"messageTitle":"Construct main structure","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":51,"deletions":21},"other":{"insertions":2,"deletions":2}}},{"hash":"fb340aa0ea5ed0cd1c6dde8b051cbbcaa792194e","isMergeCommit":false,"messageTitle":"Fix style","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":7,"deletions":7}}},{"hash":"8912dea13964567d796fa4bbc76d55588b1ec207","isMergeCommit":false,"messageTitle":"Fix test","messageBody":"","fileTypesAndContributionMap":{"other":{"insertions":1,"deletions":1}}},{"hash":"86c0f2188bcea12f5a76d997b017234465006224","isMergeCommit":true,"messageTitle":"Merge pull request #19 from ICubE-/construct-main-structure","messageBody":"Construct main structure","fileTypesAndContributionMap":{}},{"hash":"f8d2bbcd00c0d11ae2629994771c4c164eaf0316","isMergeCommit":false,"messageTitle":"Add parser","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":242,"deletions":6}}},{"hash":"bd9b6f1918fe1e779ba23341f6d95e2bb2c92395","isMergeCommit":true,"messageTitle":"Merge pull request #21 from ICubE-/add-command-line-parser","messageBody":"Add parser","fileTypesAndContributionMap":{}}]},{"date":"2023-10-10","commitResults":[{"hash":"9839af36423c550dbbb9e9b81a0c434c7508b92a","isMergeCommit":false,"messageTitle":"Add parser feature Implement help","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":317,"deletions":10}}},{"hash":"9fcf9cfd45f0fe46041507e01ec9a5fd53943e14","isMergeCommit":true,"messageTitle":"Merge pull request #23 from ICubE-/add-command-line-parser","messageBody":"Add parser feature\r\nImplement help","fileTypesAndContributionMap":{}}]}],"marklin2234":[{"date":"2023-10-04","commitResults":[{"hash":"9d5c2b2aeb519efd81570d45afba1fd7efd61325","isMergeCommit":false,"messageTitle":"change name (#2)","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":2,"deletions":1}}}]}],"farissirraj":[{"date":"2023-10-04","commitResults":[{"hash":"d29c533ec8490161881211184e028eb258c44809","isMergeCommit":false,"messageTitle":"Change name in About Us","messageBody":"","fileTypesAndContributionMap":{"docs":{"insertions":7,"deletions":7}}}]},{"date":"2023-10-09","commitResults":[{"hash":"7bb04d887d4ece7439d62030cfa67a5d840825c7","isMergeCommit":false,"messageTitle":"Create class for checking calorie surplus limit command","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":10,"deletions":0}}},{"hash":"a212cb420bd3cf786e68bbddb94452a5d41867af","isMergeCommit":false,"messageTitle":"Create class for checking the height","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":10,"deletions":0}}},{"hash":"5d4b5515c143fe1c0f60dd65b5e86c6930cb7c12","isMergeCommit":false,"messageTitle":"Create class for checking the weight","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":10,"deletions":0}}},{"hash":"6042ca31a30101f604c269182bfe03db3c1d73f8","isMergeCommit":false,"messageTitle":"Create class for listing the workout","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":11,"deletions":0}}},{"hash":"7e623f8cf9bc78fc3ebdae9068637c23022448a5","isMergeCommit":false,"messageTitle":"Create class for setting the daily calorie limit","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":11,"deletions":0}}},{"hash":"040b81c6dceccbbf71d81692fcf9d7e04571af43","isMergeCommit":false,"messageTitle":"Update Command Parser Class with the new command class constructor calls","messageBody":"","fileTypesAndContributionMap":{"functional-code":{"insertions":11,"deletions":11}}},{"hash":"26808bf357e853bc3f770f7ca8f9e01e92c45ed0","isMergeCommit":true,"messageTitle":"Merge pull request #22 from farissirraj/BasicCommands","messageBody":"Skeletal Implementation of Basic Commands","fileTypesAndContributionMap":{}}]}]},"authorFileTypeContributionMap":{"NgLixuanNixon":{"docs":2,"functional-code":0,"test-code":0},"J0shuaLeong":{"docs":8,"functional-code":0,"test-code":0},"ICubE-":{"docs":1,"functional-code":584,"test-code":2,"other":1},"marklin2234":{"docs":1,"functional-code":0,"test-code":0},"farissirraj":{"docs":1,"functional-code":62,"test-code":0}},"authorContributionVariance":{"NgLixuanNixon":9.772854,"J0shuaLeong":24.138502,"ICubE-":10437.712,"marklin2234":0.44875357,"farissirraj":277.0748},"authorDisplayNameMap":{"NgLixuanNixon":"CS2113-W12-4 NG L..IXON","J0shuaLeong":"CS2113-W12-4 LEON..SHUA","ICubE-":"CS2113-W12-4 YEON..JEHO","marklin2234":"CS2113-W12-4 LIN ..ZHAO","farissirraj":"CS2113-W12-4 FARI..RRAJ"}} diff --git a/archive.zip b/archive.zip index b0d81c4..684f7f8 100644 Binary files a/archive.zip and b/archive.zip differ diff --git a/reposense-logs/reposense.log.0 b/reposense-logs/reposense.log.0 index 0ead303..ff0d82d 100644 --- a/reposense-logs/reposense.log.0 +++ b/reposense-logs/reposense.log.0 @@ -1,20 +1,20 @@ -Oct 10, 2023 3:45:56 AM reposense.system.LogsManager addFileHandler +Oct 10, 2023 2:20:35 PM reposense.system.LogsManager addFileHandler INFO: Log temp folder has been successfully created -Oct 10, 2023 3:45:56 AM reposense.parser.CsvParser validateHeader +Oct 10, 2023 2:20:35 PM reposense.parser.CsvParser validateHeader INFO: Parsed header of CSV file, repo-config.csv, and recognized columns: Ignore Standalone Config, Repository's Location, Branch, Shallow Cloning, File formats, Ignore Glob List, Ignore Authors List, Find Previous Authors, Ignore Commits List -Oct 10, 2023 3:45:56 AM reposense.parser.CsvParser validateHeader +Oct 10, 2023 2:20:35 PM reposense.parser.CsvParser validateHeader INFO: Parsed header of CSV file, author-config.csv, and recognized columns: Author's Emails, Repository's Location, Author's GitHub ID, Branch, Author's Display Name, Ignore Glob List, Author's Git Author Name -Oct 10, 2023 3:45:56 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Oct 10, 2023 2:20:35 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias choonsiang found. The alias will belong to the last author - ChoonSiang -Oct 10, 2023 3:45:56 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Oct 10, 2023 2:20:36 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias barbaracwx found. The alias will belong to the last author - Barbaracwx -Oct 10, 2023 3:45:56 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Oct 10, 2023 2:20:36 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias choonsiang found. The alias will belong to the last author - ChoonSiang -Oct 10, 2023 3:45:56 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Oct 10, 2023 2:20:36 PM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias barbaracwx found. The alias will belong to the last author - Barbaracwx -Oct 10, 2023 3:45:56 AM reposense.parser.CsvParser validateHeader +Oct 10, 2023 2:20:36 PM reposense.parser.CsvParser validateHeader INFO: Parsed header of CSV file, group-config.csv, and recognized columns: Globs, Repository's Location, Group Name -Oct 10, 2023 3:45:56 AM reposense.git.GitConfig getGlobalGitLfsConfig +Oct 10, 2023 2:20:36 PM reposense.git.GitConfig getGlobalGitLfsConfig WARNING: Could not get global git lfs config java.lang.RuntimeException: reposense.system.CommandRunnerProcessException: Error returned from command git config --global --list on path . : fatal: unable to read config file '/home/runner/.gitconfig': No such file or directory @@ -30,313 +30,313 @@ fatal: unable to read config file '/home/runner/.gitconfig': No such file or dir at reposense.system.CommandRunner.runCommand(CommandRunner.java:21) ... 3 more -Oct 10, 2023 3:45:56 AM reposense.report.RepoCloner spawnCloneProcess +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-W12-2/tp.git... -Oct 10, 2023 3:45:56 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-T17-4/tp.git... -Oct 10, 2023 3:45:56 AM reposense.report.RepoCloner spawnCloneProcess +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-T17-3/tp.git... -Oct 10, 2023 3:45:56 AM reposense.report.RepoCloner spawnCloneProcess +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-T17-4/tp.git... +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-W12-4/tp.git... -Oct 10, 2023 3:45:56 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-T17-4/tp.git to complete... -Oct 10, 2023 3:45:56 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-W12-4/tp.git to complete... -Oct 10, 2023 3:45:56 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-T17-3/tp.git to complete... -Oct 10, 2023 3:45:56 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-W12-2/tp.git to complete... -Oct 10, 2023 3:45:56 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-T17-4/tp.git to complete... +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AY2324S1-CS2113-W12-2/tp.git completed! -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-T18-1/tp.git... -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AY2324S1-CS2113-W12-4/tp.git completed! -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-T18-1/tp.git to complete... -Oct 10, 2023 3:45:57 AM reposense.report.ReportGenerator analyzeRepos -INFO: [1/17] Analyzing https://github.com/AY2324S1-CS2113-W12-2/tp.git (master)... -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner spawnCloneProcess +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-T18-1/tp.git... +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-F11-3/tp.git... -Oct 10, 2023 3:45:57 AM reposense.report.ReportGenerator analyzeRepos +Oct 10, 2023 2:20:36 PM reposense.report.ReportGenerator analyzeRepos +INFO: [1/17] Analyzing https://github.com/AY2324S1-CS2113-W12-2/tp.git (master)... +Oct 10, 2023 2:20:36 PM reposense.report.ReportGenerator analyzeRepos INFO: [2/17] Analyzing https://github.com/AY2324S1-CS2113-W12-4/tp.git (master)... -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-T18-1/tp.git to complete... +Oct 10, 2023 2:20:36 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-F11-3/tp.git to complete... -Oct 10, 2023 3:45:57 AM reposense.report.ReportGenerator updateRepoConfig +Oct 10, 2023 2:20:36 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AY2324S1-CS2113-W12-2/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:45:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Oct 10, 2023 2:20:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-W12-2/tp.git (master)... -Oct 10, 2023 3:45:57 AM reposense.report.ReportGenerator updateRepoConfig +Oct 10, 2023 2:20:36 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AY2324S1-CS2113-W12-4/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:45:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Oct 10, 2023 2:20:36 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-W12-4/tp.git (master)... -Oct 10, 2023 3:45:57 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-W12-2/tp.git (master)... -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AY2324S1-CS2113-T18-1/tp.git completed! -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AY2324S1-CS2113-F11-3/tp.git completed! -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner spawnCloneProcess +Oct 10, 2023 2:20:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AY2324S1-CS2113-T18-1/tp.git completed! +Oct 10, 2023 2:20:37 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-W12-1/tp.git... -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-W12-3/tp.git... -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-W12-1/tp.git to complete... -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:37 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-W12-3/tp.git... +Oct 10, 2023 2:20:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-W12-3/tp.git to complete... -Oct 10, 2023 3:45:57 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-W12-2/tp.git (master)... -Oct 10, 2023 3:45:57 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AY2324S1-CS2113-W12-2/tp.git (master) completed! -Oct 10, 2023 3:45:57 AM reposense.report.ReportGenerator analyzeRepos -INFO: [3/17] Analyzing https://github.com/AY2324S1-CS2113-F11-3/tp.git (master)... -Oct 10, 2023 3:45:57 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AY2324S1-CS2113-F11-3/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:45:57 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-F11-3/tp.git (master)... -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AY2324S1-CS2113-T17-3/tp.git completed! -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-T18-2/tp.git... -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AY2324S1-CS2113-T17-4/tp.git completed! -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:37 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-T18-2/tp.git... +Oct 10, 2023 2:20:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AY2324S1-CS2113-T17-3/tp.git completed! +Oct 10, 2023 2:20:37 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-T18-2/tp.git to complete... -Oct 10, 2023 3:45:57 AM reposense.report.RepoCloner spawnCloneProcess +Oct 10, 2023 2:20:37 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-T18-3/tp.git... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:37 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-W12-2/tp.git (master)... +Oct 10, 2023 2:20:37 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-T18-3/tp.git to complete... +Oct 10, 2023 2:20:37 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-W12-2/tp.git (master)... +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AY2324S1-CS2113-W12-3/tp.git completed! -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner spawnCloneProcess +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113T-W11-1/tp.git... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AY2324S1-CS2113-W12-1/tp.git completed! -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-T18-3/tp.git to complete... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-T18-4/tp.git... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113T-W11-1/tp.git to complete... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-T18-4/tp.git... +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-T18-4/tp.git to complete... -Oct 10, 2023 3:45:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-F11-3/tp.git (master)... -Oct 10, 2023 3:45:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Oct 10, 2023 2:20:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AY2324S1-CS2113-W12-2/tp.git (master) completed! +Oct 10, 2023 2:20:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [3/17] Analyzing https://github.com/AY2324S1-CS2113-F11-3/tp.git (master)... +Oct 10, 2023 2:20:38 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AY2324S1-CS2113-F11-3/tp.git (master) does not contain a standalone config file. +Oct 10, 2023 2:20:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-F11-3/tp.git (master)... +Oct 10, 2023 2:20:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-W12-4/tp.git (master)... -Oct 10, 2023 3:45:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-F11-3/tp.git (master)... -Oct 10, 2023 3:45:58 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AY2324S1-CS2113-F11-3/tp.git (master) completed! -Oct 10, 2023 3:45:58 AM reposense.report.ReportGenerator analyzeRepos -INFO: [4/17] Analyzing https://github.com/AY2324S1-CS2113-T18-1/tp.git (master)... -Oct 10, 2023 3:45:58 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AY2324S1-CS2113-T18-1/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:45:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-T18-1/tp.git (master)... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AY2324S1-CS2113-T18-3/tp.git completed! -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AY2324S1-CS2113-T18-2/tp.git completed! -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner spawnCloneProcess +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-F11-1/tp.git... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner spawnCloneProcess +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AY2324S1-CS2113-T18-3/tp.git completed! +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-F11-2/tp.git... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-F11-1/tp.git to complete... +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-F11-2/tp.git to complete... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-W12-4/tp.git (master)... +Oct 10, 2023 2:20:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AY2324S1-CS2113-W12-4/tp.git (master) completed! +Oct 10, 2023 2:20:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-F11-3/tp.git (master)... +Oct 10, 2023 2:20:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [4/17] Analyzing https://github.com/AY2324S1-CS2113-T18-1/tp.git (master)... +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AY2324S1-CS2113T-W11-1/tp.git completed! -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AY2324S1-CS2113-T18-4/tp.git completed! -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-F11-1/tp.git to complete... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner spawnCloneProcess +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-T17-2/tp.git... -Oct 10, 2023 3:45:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-W12-4/tp.git (master)... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113T-W11-2/tp.git... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AY2324S1-CS2113-T18-4/tp.git completed! +Oct 10, 2023 2:20:38 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AY2324S1-CS2113-T18-1/tp.git (master) does not contain a standalone config file. +Oct 10, 2023 2:20:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-T18-1/tp.git (master)... +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-T17-2/tp.git to complete... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113T-W11-2/tp.git... +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113T-W11-2/tp.git to complete... -Oct 10, 2023 3:45:58 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AY2324S1-CS2113-W12-4/tp.git (master) completed! -Oct 10, 2023 3:45:58 AM reposense.report.ReportGenerator analyzeRepos -INFO: [5/17] Analyzing https://github.com/AY2324S1-CS2113-T17-3/tp.git (master)... -Oct 10, 2023 3:45:58 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AY2324S1-CS2113-T17-3/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:45:58 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-T17-3/tp.git (master)... -Oct 10, 2023 3:45:58 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-T18-1/tp.git (master)... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:38 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-F11-3/tp.git (master)... +Oct 10, 2023 2:20:38 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AY2324S1-CS2113-F11-3/tp.git (master) completed! +Oct 10, 2023 2:20:38 PM reposense.report.ReportGenerator analyzeRepos +INFO: [5/17] Analyzing https://github.com/AY2324S1-CS2113-T17-4/tp.git (master)... +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AY2324S1-CS2113-F11-1/tp.git completed! -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner spawnCloneProcess +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/AY2324S1-CS2113-T17-1/tp.git... -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AY2324S1-CS2113-F11-2/tp.git completed! -Oct 10, 2023 3:45:58 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/AY2324S1-CS2113-T17-1/tp.git to complete... -Oct 10, 2023 3:45:58 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Oct 10, 2023 2:20:38 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AY2324S1-CS2113-F11-2/tp.git completed! +Oct 10, 2023 2:20:38 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-T18-1/tp.git (master)... +Oct 10, 2023 2:20:38 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AY2324S1-CS2113-T17-4/tp.git (master) does not contain a standalone config file. +Oct 10, 2023 2:20:38 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-T17-4/tp.git (master)... +Oct 10, 2023 2:20:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-T18-1/tp.git (master)... -Oct 10, 2023 3:45:58 AM reposense.report.ReportGenerator analyzeRepo +Oct 10, 2023 2:20:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AY2324S1-CS2113-T18-1/tp.git (master) completed! -Oct 10, 2023 3:45:58 AM reposense.report.ReportGenerator analyzeRepos -INFO: [6/17] Analyzing https://github.com/AY2324S1-CS2113-T17-4/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AY2324S1-CS2113T-W11-2/tp.git completed! -Oct 10, 2023 3:45:59 AM reposense.report.RepoCloner waitForCloneProcess +Oct 10, 2023 2:20:39 PM reposense.report.ReportGenerator analyzeRepos +INFO: [6/17] Analyzing https://github.com/AY2324S1-CS2113-T17-3/tp.git (master)... +Oct 10, 2023 2:20:39 PM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/AY2324S1-CS2113-T17-2/tp.git completed! -Oct 10, 2023 3:45:59 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AY2324S1-CS2113-T17-4/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:45:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-T17-4/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Cloning of https://github.com/AY2324S1-CS2113-T17-1/tp.git completed! -Oct 10, 2023 3:45:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Oct 10, 2023 2:20:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AY2324S1-CS2113T-W11-2/tp.git completed! +Oct 10, 2023 2:20:39 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AY2324S1-CS2113-T17-3/tp.git (master) does not contain a standalone config file. +Oct 10, 2023 2:20:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-T17-3/tp.git (master)... +Oct 10, 2023 2:20:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-T17-4/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-T17-3/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Oct 10, 2023 2:20:39 PM reposense.report.RepoCloner waitForCloneProcess +INFO: Cloning of https://github.com/AY2324S1-CS2113-T17-1/tp.git completed! +Oct 10, 2023 2:20:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-T17-4/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.report.ReportGenerator analyzeRepo +Oct 10, 2023 2:20:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AY2324S1-CS2113-T17-4/tp.git (master) completed! -Oct 10, 2023 3:45:59 AM reposense.report.ReportGenerator analyzeRepos +Oct 10, 2023 2:20:39 PM reposense.report.ReportGenerator analyzeRepos INFO: [7/17] Analyzing https://github.com/AY2324S1-CS2113-W12-3/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.report.ReportGenerator updateRepoConfig +Oct 10, 2023 2:20:39 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AY2324S1-CS2113-W12-3/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:45:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Oct 10, 2023 2:20:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-W12-3/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Oct 10, 2023 2:20:39 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-W12-3/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-T17-3/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AY2324S1-CS2113-T17-3/tp.git (master) completed! -Oct 10, 2023 3:45:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Oct 10, 2023 2:20:39 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-W12-3/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.report.ReportGenerator analyzeRepo +Oct 10, 2023 2:20:39 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AY2324S1-CS2113-W12-3/tp.git (master) completed! -Oct 10, 2023 3:45:59 AM reposense.report.ReportGenerator analyzeRepos +Oct 10, 2023 2:20:39 PM reposense.report.ReportGenerator analyzeRepos INFO: [8/17] Analyzing https://github.com/AY2324S1-CS2113-W12-1/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.report.ReportGenerator analyzeRepos -INFO: [9/17] Analyzing https://github.com/AY2324S1-CS2113-T18-3/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.report.ReportGenerator updateRepoConfig +Oct 10, 2023 2:20:39 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AY2324S1-CS2113-W12-1/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:45:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Oct 10, 2023 2:20:39 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-W12-1/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AY2324S1-CS2113-T18-3/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:45:59 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-T18-3/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-T18-3/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-T18-3/tp.git (master)... -Oct 10, 2023 3:45:59 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AY2324S1-CS2113-T18-3/tp.git (master) completed! -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepos -INFO: [10/17] Analyzing https://github.com/AY2324S1-CS2113-T18-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AY2324S1-CS2113-T18-2/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:46:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-T18-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Oct 10, 2023 2:20:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-W12-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Oct 10, 2023 2:20:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-W12-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepo +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AY2324S1-CS2113-W12-1/tp.git (master) completed! -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepos +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [9/17] Analyzing https://github.com/AY2324S1-CS2113-T18-2/tp.git (master)... +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AY2324S1-CS2113-T18-2/tp.git (master) does not contain a standalone config file. +Oct 10, 2023 2:20:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-T18-2/tp.git (master)... +Oct 10, 2023 2:20:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-T17-3/tp.git (master)... +Oct 10, 2023 2:20:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-T17-3/tp.git (master)... +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AY2324S1-CS2113-T17-3/tp.git (master) completed! +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator analyzeRepos +INFO: [10/17] Analyzing https://github.com/AY2324S1-CS2113-T18-3/tp.git (master)... +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AY2324S1-CS2113-T18-3/tp.git (master) does not contain a standalone config file. +Oct 10, 2023 2:20:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-T18-3/tp.git (master)... +Oct 10, 2023 2:20:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-T18-2/tp.git (master)... +Oct 10, 2023 2:20:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-T18-2/tp.git (master)... +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AY2324S1-CS2113-T18-2/tp.git (master) completed! +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator analyzeRepos INFO: [11/17] Analyzing https://github.com/AY2324S1-CS2113T-W11-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator updateRepoConfig +Oct 10, 2023 2:20:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-T18-3/tp.git (master)... +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AY2324S1-CS2113T-W11-1/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:46:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Oct 10, 2023 2:20:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113T-W11-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-T18-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Oct 10, 2023 2:20:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-T18-3/tp.git (master)... +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AY2324S1-CS2113-T18-3/tp.git (master) completed! +Oct 10, 2023 2:20:40 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AY2324S1-CS2113T-W11-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-T18-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AY2324S1-CS2113-T18-2/tp.git (master) completed! -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepos +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator analyzeRepos INFO: [12/17] Analyzing https://github.com/AY2324S1-CS2113-T18-4/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Oct 10, 2023 2:20:40 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113T-W11-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepo +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AY2324S1-CS2113T-W11-1/tp.git (master) completed! -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepos +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator analyzeRepos INFO: [13/17] Analyzing https://github.com/AY2324S1-CS2113-F11-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator updateRepoConfig +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AY2324S1-CS2113-T18-4/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:46:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Oct 10, 2023 2:20:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-T18-4/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator updateRepoConfig +Oct 10, 2023 2:20:40 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AY2324S1-CS2113-F11-1/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:46:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Oct 10, 2023 2:20:40 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-F11-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Oct 10, 2023 2:20:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-T18-4/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Oct 10, 2023 2:20:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-F11-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Oct 10, 2023 2:20:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-T18-4/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepo +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AY2324S1-CS2113-T18-4/tp.git (master) completed! -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepos +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator analyzeRepos INFO: [14/17] Analyzing https://github.com/AY2324S1-CS2113-F11-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Oct 10, 2023 2:20:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-F11-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepo +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AY2324S1-CS2113-F11-1/tp.git (master) completed! -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator updateRepoConfig +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [15/17] Analyzing https://github.com/AY2324S1-CS2113-T17-2/tp.git (master)... +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AY2324S1-CS2113-F11-2/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:46:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Oct 10, 2023 2:20:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-F11-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepos -INFO: [15/17] Analyzing https://github.com/AY2324S1-CS2113T-W11-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator updateRepoConfig -INFO: https://github.com/AY2324S1-CS2113T-W11-2/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:46:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos -INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113T-W11-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-F11-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-F11-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AY2324S1-CS2113-F11-2/tp.git (master) completed! -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepos -INFO: [16/17] Analyzing https://github.com/AY2324S1-CS2113-T17-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator updateRepoConfig +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AY2324S1-CS2113-T17-2/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:46:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Oct 10, 2023 2:20:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-T17-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Oct 10, 2023 2:20:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-F11-2/tp.git (master)... +Oct 10, 2023 2:20:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-T17-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/AY2324S1-CS2113T-W11-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Oct 10, 2023 2:20:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-F11-2/tp.git (master)... +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AY2324S1-CS2113-F11-2/tp.git (master) completed! +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator analyzeRepos +INFO: [16/17] Analyzing https://github.com/AY2324S1-CS2113T-W11-2/tp.git (master)... +Oct 10, 2023 2:20:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-T17-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepo +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator updateRepoConfig +INFO: https://github.com/AY2324S1-CS2113T-W11-2/tp.git (master) does not contain a standalone config file. +Oct 10, 2023 2:20:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos +INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113T-W11-2/tp.git (master)... +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AY2324S1-CS2113-T17-2/tp.git (master) completed! -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepos +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator analyzeRepos INFO: [17/17] Analyzing https://github.com/AY2324S1-CS2113-T17-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits -INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113T-W11-2/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/AY2324S1-CS2113T-W11-2/tp.git (master) completed! -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator updateRepoConfig +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/AY2324S1-CS2113-T17-1/tp.git (master) does not contain a standalone config file. -Oct 10, 2023 3:46:00 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Oct 10, 2023 2:20:41 PM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/AY2324S1-CS2113-T17-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Oct 10, 2023 2:20:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/AY2324S1-CS2113T-W11-2/tp.git (master)... +Oct 10, 2023 2:20:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits +INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113T-W11-2/tp.git (master)... +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/AY2324S1-CS2113T-W11-2/tp.git (master) completed! +Oct 10, 2023 2:20:41 PM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/AY2324S1-CS2113-T17-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Oct 10, 2023 2:20:41 PM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/AY2324S1-CS2113-T17-1/tp.git (master)... -Oct 10, 2023 3:46:00 AM reposense.report.ReportGenerator analyzeRepo +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/AY2324S1-CS2113-T17-1/tp.git (master) completed! -Oct 10, 2023 3:46:01 AM reposense.report.ReportGenerator generateReposReport +Oct 10, 2023 2:20:41 PM reposense.report.ReportGenerator generateReposReport INFO: The report is generated at /home/runner/work/tp-dashboard/tp-dashboard/reposense-report -Oct 10, 2023 3:46:01 AM reposense.RepoSense main -INFO: Elapsed processing time: 4.92 second(s) +Oct 10, 2023 2:20:41 PM reposense.RepoSense main +INFO: Elapsed processing time: 6.00 second(s) diff --git a/summary.json b/summary.json index 7aa99de..bf27615 100644 --- a/summary.json +++ b/summary.json @@ -1 +1 @@ -{"repoSenseVersion":"7bc056ab65","reportGeneratedTime":"Tue Oct 10 11:45:56 2023 UTC+08:00","reportGenerationTime":" 4.88 second(s)","zoneId":"UTC+08:00","reportTitle":"CS2113 tP Code Dashboard","repos":[{"location":{"location":"https://github.com/AY2324S1-CS2113T-W11-1/tp.git","repoName":"tp","organization":"AY2324S1-CS2113T-W11-1","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113T-W11-1/tp[master]","outputFolderName":"AY2324S1-CS2113T-W11-1_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113T-W11-2/tp.git","repoName":"tp","organization":"AY2324S1-CS2113T-W11-2","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113T-W11-2/tp[master]","outputFolderName":"AY2324S1-CS2113T-W11-2_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-W12-1/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-W12-1","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-W12-1/tp[master]","outputFolderName":"AY2324S1-CS2113-W12-1_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-W12-2/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-W12-2","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-W12-2/tp[master]","outputFolderName":"AY2324S1-CS2113-W12-2_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-W12-3/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-W12-3","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-W12-3/tp[master]","outputFolderName":"AY2324S1-CS2113-W12-3_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-W12-4/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-W12-4","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-W12-4/tp[master]","outputFolderName":"AY2324S1-CS2113-W12-4_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T17-1/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T17-1","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T17-1/tp[master]","outputFolderName":"AY2324S1-CS2113-T17-1_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T17-2/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T17-2","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T17-2/tp[master]","outputFolderName":"AY2324S1-CS2113-T17-2_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T17-3/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T17-3","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T17-3/tp[master]","outputFolderName":"AY2324S1-CS2113-T17-3_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T17-4/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T17-4","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T17-4/tp[master]","outputFolderName":"AY2324S1-CS2113-T17-4_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T18-1/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T18-1","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T18-1/tp[master]","outputFolderName":"AY2324S1-CS2113-T18-1_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T18-2/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T18-2","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T18-2/tp[master]","outputFolderName":"AY2324S1-CS2113-T18-2_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T18-3/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T18-3","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T18-3/tp[master]","outputFolderName":"AY2324S1-CS2113-T18-3_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T18-4/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T18-4","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T18-4/tp[master]","outputFolderName":"AY2324S1-CS2113-T18-4_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-F11-1/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-F11-1","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-F11-1/tp[master]","outputFolderName":"AY2324S1-CS2113-F11-1_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-F11-2/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-F11-2","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-F11-2/tp[master]","outputFolderName":"AY2324S1-CS2113-F11-2_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-F11-3/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-F11-3","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-F11-3/tp[master]","outputFolderName":"AY2324S1-CS2113-F11-3_tp_master"}],"errorSet":[],"sinceDate":"2023-09-22","untilDate":"2023-10-10","isSinceDateProvided":true,"isUntilDateProvided":false,"supportedDomainUrlMap":{"NOT_RECOGNIZED":{"BRANCH":"","REPO_URL":"UNSUPPORTED","BASE_URL":"UNSUPPORTED","HISTORY_PATH":"","COMMIT_PATH":"","BLAME_PATH":""},"github":{"BRANCH":"tree/$BRANCH","REPO_URL":"https://github.com/$ORGANIZATION/$REPO_NAME/","BASE_URL":"https://github.com/","HISTORY_PATH":"commits/$BRANCH/$FILE_PATH","COMMIT_PATH":"commit/$COMMIT_HASH","BLAME_PATH":"blame/$BRANCH/$FILE_PATH"}}} +{"repoSenseVersion":"7bc056ab65","reportGeneratedTime":"Tue Oct 10 22:20:36 2023 UTC+08:00","reportGenerationTime":" 5.96 second(s)","zoneId":"UTC+08:00","reportTitle":"CS2113 tP Code Dashboard","repos":[{"location":{"location":"https://github.com/AY2324S1-CS2113T-W11-1/tp.git","repoName":"tp","organization":"AY2324S1-CS2113T-W11-1","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113T-W11-1/tp[master]","outputFolderName":"AY2324S1-CS2113T-W11-1_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113T-W11-2/tp.git","repoName":"tp","organization":"AY2324S1-CS2113T-W11-2","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113T-W11-2/tp[master]","outputFolderName":"AY2324S1-CS2113T-W11-2_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-W12-1/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-W12-1","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-W12-1/tp[master]","outputFolderName":"AY2324S1-CS2113-W12-1_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-W12-2/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-W12-2","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-W12-2/tp[master]","outputFolderName":"AY2324S1-CS2113-W12-2_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-W12-3/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-W12-3","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-W12-3/tp[master]","outputFolderName":"AY2324S1-CS2113-W12-3_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-W12-4/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-W12-4","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-W12-4/tp[master]","outputFolderName":"AY2324S1-CS2113-W12-4_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T17-1/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T17-1","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T17-1/tp[master]","outputFolderName":"AY2324S1-CS2113-T17-1_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T17-2/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T17-2","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T17-2/tp[master]","outputFolderName":"AY2324S1-CS2113-T17-2_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T17-3/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T17-3","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T17-3/tp[master]","outputFolderName":"AY2324S1-CS2113-T17-3_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T17-4/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T17-4","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T17-4/tp[master]","outputFolderName":"AY2324S1-CS2113-T17-4_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T18-1/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T18-1","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T18-1/tp[master]","outputFolderName":"AY2324S1-CS2113-T18-1_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T18-2/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T18-2","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T18-2/tp[master]","outputFolderName":"AY2324S1-CS2113-T18-2_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T18-3/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T18-3","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T18-3/tp[master]","outputFolderName":"AY2324S1-CS2113-T18-3_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-T18-4/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-T18-4","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-T18-4/tp[master]","outputFolderName":"AY2324S1-CS2113-T18-4_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-F11-1/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-F11-1","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-F11-1/tp[master]","outputFolderName":"AY2324S1-CS2113-F11-1_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-F11-2/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-F11-2","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-F11-2/tp[master]","outputFolderName":"AY2324S1-CS2113-F11-2_tp_master"},{"location":{"location":"https://github.com/AY2324S1-CS2113-F11-3/tp.git","repoName":"tp","organization":"AY2324S1-CS2113-F11-3","domainName":"github"},"branch":"master","displayName":"AY2324S1-CS2113-F11-3/tp[master]","outputFolderName":"AY2324S1-CS2113-F11-3_tp_master"}],"errorSet":[],"sinceDate":"2023-09-22","untilDate":"2023-10-10","isSinceDateProvided":true,"isUntilDateProvided":false,"supportedDomainUrlMap":{"NOT_RECOGNIZED":{"BRANCH":"","REPO_URL":"UNSUPPORTED","BASE_URL":"UNSUPPORTED","HISTORY_PATH":"","COMMIT_PATH":"","BLAME_PATH":""},"github":{"BRANCH":"tree/$BRANCH","REPO_URL":"https://github.com/$ORGANIZATION/$REPO_NAME/","BASE_URL":"https://github.com/","HISTORY_PATH":"commits/$BRANCH/$FILE_PATH","COMMIT_PATH":"commit/$COMMIT_HASH","BLAME_PATH":"blame/$BRANCH/$FILE_PATH"}}}