@@ -1,5 +1,6 @@
|
||||
package ch.zhaw.gartenverwaltung.io;
|
||||
|
||||
import ch.zhaw.gartenverwaltung.types.Crop;
|
||||
import ch.zhaw.gartenverwaltung.types.Task;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
|
||||
@@ -51,6 +52,31 @@ public class JsonTaskDatabase implements TaskDatabase{
|
||||
return taskMap.values().stream().filter(task -> task.isInTimePeriode(start, end)).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* Method get all Tasks for a specific Crop
|
||||
* @param cropId the cropId
|
||||
* @return List of Tasks for given Crop
|
||||
*/
|
||||
@Override
|
||||
public List<Task> getTaskForCrop(long cropId) throws IOException {
|
||||
if(taskMap.isEmpty()) {
|
||||
loadTaskListFromFile();
|
||||
}
|
||||
return taskMap.values().stream().filter(task -> task.getCropId() == cropId).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* Method remove all Tasks for a specific Crop
|
||||
* @param cropId the crop
|
||||
*/
|
||||
@Override
|
||||
public void removeTasksForCrop(long cropId) throws IOException {
|
||||
if(taskMap.isEmpty()) {
|
||||
loadTaskListFromFile();
|
||||
}
|
||||
taskMap.values().removeIf(task -> task.getCropId() == cropId);
|
||||
}
|
||||
|
||||
/**
|
||||
* If no data is currently loaded, data is loaded from {@link #dataSource}.
|
||||
* If the {@link Task} has an id than the task is added to the {@link #taskMap}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package ch.zhaw.gartenverwaltung.io;
|
||||
|
||||
import ch.zhaw.gartenverwaltung.types.Crop;
|
||||
import ch.zhaw.gartenverwaltung.types.HardinessZone;
|
||||
import ch.zhaw.gartenverwaltung.types.Plant;
|
||||
import ch.zhaw.gartenverwaltung.types.Task;
|
||||
@@ -24,6 +25,21 @@ public interface TaskDatabase {
|
||||
*/
|
||||
List<Task> getTaskList(LocalDate start, LocalDate end) throws IOException;
|
||||
|
||||
/**
|
||||
* Method get all Tasks for a specific Crop
|
||||
* @param cropId the cropId
|
||||
* @return List of Tasks for given Crop
|
||||
* @throws IOException If the database cannot be accessed
|
||||
*/
|
||||
List<Task> getTaskForCrop(long cropId) throws IOException;
|
||||
|
||||
/**
|
||||
* Method remove all Tasks for a specific Crop
|
||||
* @param cropId the cropId
|
||||
* @throws IOException If the database cannot be accessed
|
||||
*/
|
||||
void removeTasksForCrop(long cropId) throws IOException;
|
||||
|
||||
/**
|
||||
* Saves the {@link Task} in the Cache.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user