Removed the CreateNoteViewModel class entirely due to the absence of a corresponding view. Responsibilities were shifted to the SearchViewModel class, which was previously unused.
EditPresenter Object Update:
Removed the editPresenter() object from CreateNoteInteractor and replaced it with searchPresenter() to maintain consistency in the project design. Now, each use case called from a specific view utilizes only the presenter associated with that view.
Duplicate Arguments Removal:
Eliminated duplicate arguments of editNoteDAO in Main.java from all use case factories (e.g., EditNoteUseCaseFactory and HomeViewUseCaseFactory). When using the same editNoteDAO object for different interfaces, casting is now done within the use case factories.
Single Presenter Object in Use Case Factories:
Previously, multiple editPresenter() objects were created for separate controllers in HomeViewUseCaseFactory. Removed editPresenter() entirely, replaced it with searchPresenter(), and now use only one searchPresenter() object for all controllers. This design choice reduces clutter and complexity, aligning with the approach in EditNoteUseCaseFactory.
Introduction of Retrieve Use Case:
Added the Retrieve use case, responsible for persisting Note entity HashMap data within data.csv.
Major Design Fixes
CreateNoteViewModel Removal:
CreateNoteViewModel
class entirely due to the absence of a corresponding view. Responsibilities were shifted to theSearchViewModel
class, which was previously unused.EditPresenter Object Update:
editPresenter()
object fromCreateNoteInteractor
and replaced it withsearchPresenter()
to maintain consistency in the project design. Now, each use case called from a specific view utilizes only the presenter associated with that view.Duplicate Arguments Removal:
editNoteDAO
inMain.java
from all use case factories (e.g.,EditNoteUseCaseFactory
andHomeViewUseCaseFactory
). When using the sameeditNoteDAO
object for different interfaces, casting is now done within the use case factories.Single Presenter Object in Use Case Factories:
editPresenter()
objects were created for separate controllers inHomeViewUseCaseFactory
. RemovededitPresenter()
entirely, replaced it withsearchPresenter()
, and now use only onesearchPresenter()
object for all controllers. This design choice reduces clutter and complexity, aligning with the approach inEditNoteUseCaseFactory
.Introduction of Retrieve Use Case:
Retrieve
use case, responsible for persistingNote
entity HashMap data withindata.csv
.