package seedu.jimi.logic;

import javafx.collections.ObservableList;
import seedu.jimi.commons.core.ComponentManager;
import seedu.jimi.commons.core.LogsCenter;
import seedu.jimi.logic.commands.Command;
import seedu.jimi.logic.commands.CommandResult;
import seedu.jimi.logic.parser.JimiParser;
import seedu.jimi.model.Model;
import seedu.jimi.model.task.ReadOnlyTask;
import seedu.jimi.storage.Storage;

import java.util.logging.Logger;

/**
 * The main LogicManager of the app.
 */
public class LogicManager extends ComponentManager implements Logic {
    private final Logger logger = LogsCenter.getLogger(LogicManager.class);

    private final Model model;
    private final JimiParser jimiParser;

    public LogicManager(Model model, Storage storage) {
        this.model = model;
        this.jimiParser = new JimiParser();
    }

    @Override
    public CommandResult execute(String commandText) {
        logger.info("----------------[USER COMMAND][" + commandText + "]");
        Command command = jimiParser.parseCommand(commandText);
        command.setData(model);
        return command.execute();
    }

    @Override
    public ObservableList<ReadOnlyTask> getFilteredTaskList() {
        return model.getFilteredTaskList();
    }
}

@@ -1241,10 +1241,294 @@
 ;%0A    %7D%0A
+    %0A    @Override%0A    public ObservableList%3CReadOnlyTask%3E getFilteredDeadlineTaskList() %7B%0A        return model.getFilteredDeadlineTaskList();%0A    %7D%0A    %0A    @Override%0A    public ObservableList%3CReadOnlyTask%3E getFilteredEventList() %7B%0A        return model.getFilteredEventList();%0A    %7D%0A
 %7D%0A

add in deadlineTask and event lists accessors