diff --git a/plan.txt b/plan.txt
index 3e6215a..4425215 100644
--- a/plan.txt
+++ b/plan.txt
@@ -1,7 +1,8 @@
Funktionen:
-ToDo deadline#
-ToDo-Liste nach Datum/Uhrzeit sortieren#
--ToDo-Liste abspeichern
+-ToDo-Liste als JSON abspeichern#
+-ToDo-Liste von JSON laden#
-ToDo hinzufügen#
-ToDo abhaken#
-ToDo löschen#
diff --git a/theList.json b/theList.json
new file mode 100644
index 0000000..8846ac4
--- /dev/null
+++ b/theList.json
@@ -0,0 +1,8 @@
+[
+ {
+ "id": 0,
+ "content": "asdfgh",
+ "done": false,
+ "deadline": "Feb 2, 2022, 12:00:00 AM"
+ }
+]
\ No newline at end of file
diff --git a/todolist_editor/pom.xml b/todolist_editor/pom.xml
index d3a13b1..b8f8ebd 100644
--- a/todolist_editor/pom.xml
+++ b/todolist_editor/pom.xml
@@ -26,6 +26,11 @@
4.13.1
test
+
+ com.google.code.gson
+ gson
+ 2.8.7
+
diff --git a/todolist_editor/src/main/java/de/dejan/todolist/Main.java b/todolist_editor/src/main/java/de/dejan/todolist/Main.java
index d6ef877..06ee18d 100644
--- a/todolist_editor/src/main/java/de/dejan/todolist/Main.java
+++ b/todolist_editor/src/main/java/de/dejan/todolist/Main.java
@@ -4,6 +4,8 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
+import de.dejan.todolist.io.ToDoListFromToJSON;
+
public class Main{
@@ -11,6 +13,12 @@ public class Main{
static ArrayList tasks=new ArrayList();
public static void main( String[] args ){
+
+ //ArrayList tasks_ = ToDoListFromToJSON.loadToDoList("theList.json");
+
+ for (int i = 0; i < ToDoListFromToJSON.loadToDoList("theList.json").size(); i++) {
+ tasks.add(ToDoListFromToJSON.loadToDoList("theList.json").get(i));
+ }
while (true) {
menu();
@@ -18,6 +26,11 @@ public class Main{
}
+ public static void exit(){
+ ToDoListFromToJSON.saveToDoList(tasks, "theList.json");
+ System.exit(0);
+ }
+
public static void menu(){
System.out.println("\n[1]Neues ToDo hinzufügen");
@@ -36,7 +49,7 @@ public class Main{
case 3: done(); break;
case 4: delTask(); break;
case 5: sortByDeadline(); break;
- case 6: System.exit(0);
+ case 6: exit();
}
}
diff --git a/todolist_editor/src/main/java/de/dejan/todolist/ToDo.java b/todolist_editor/src/main/java/de/dejan/todolist/ToDo.java
index 5d6bceb..dc770f5 100644
--- a/todolist_editor/src/main/java/de/dejan/todolist/ToDo.java
+++ b/todolist_editor/src/main/java/de/dejan/todolist/ToDo.java
@@ -4,59 +4,59 @@ import java.util.*;
public class ToDo{
- private int theID;
- private String theContent;
- private boolean theDone;
+ private int id;
+ private String content;
+ private boolean done;
// https://docs.oracle.com/javase/8/docs/api/java/util/Date.html
// https://stackoverflow.com/questions/5927109/sort-objects-in-arraylist-by-date
- private Date theDeadline;
+ private Date deadline;
public ToDo(int id, String content, boolean done, Date deadline){
- theID=id;
- theContent=content;
- theDone=done;
- theDeadline=deadline;
+ this.id=id;
+ this.content=content;
+ this.done=done;
+ this.deadline=deadline;
}
public ToDo(int id, String content, boolean done){
- theID=id;
- theContent=content;
- theDone=done;
+ this.id=id;
+ this.content=content;
+ this.done=done;
}
//get-& set-methods
public void setID(int id){
- theID=id;
+ this.id=id;
}
public int getID(){
- return theID;
+ return id;
}
public void setContent(String content){
- theContent=content;
+ this.content=content;
}
public String getContent(){
- return theContent;
+ return this.content;
}
public void setDone(boolean done){
- theDone=done;
+ this.done=done;
}
public boolean getDone(){
- return theDone;
+ return this.done;
}
public void setDeadline(Date d){
- theDeadline=d;
+ this.deadline=d;
}
public Date getDeadline(){
- return theDeadline;
+ return this.deadline;
}
}
diff --git a/todolist_editor/src/main/java/de/dejan/todolist/io/ToDoListFromToJSON.java b/todolist_editor/src/main/java/de/dejan/todolist/io/ToDoListFromToJSON.java
new file mode 100644
index 0000000..e4eae20
--- /dev/null
+++ b/todolist_editor/src/main/java/de/dejan/todolist/io/ToDoListFromToJSON.java
@@ -0,0 +1,50 @@
+package de.dejan.todolist.io;
+
+import de.dejan.todolist.*;
+//import jdk.internal.org.jline.utils.InputStreamReader;
+
+import java.io.*;
+import java.lang.reflect.Type;
+import java.util.*;
+import com.google.gson.*;
+import com.google.gson.reflect.TypeToken;
+
+public class ToDoListFromToJSON {
+
+
+ public static void saveToDoList(ArrayList tasks, String listname){
+ Gson gson=new GsonBuilder().setPrettyPrinting().create();
+
+
+ try {
+ FileWriter fw=new FileWriter(listname);
+ gson.toJson(tasks, fw);
+ fw.close();
+ } catch (JsonIOException e) {
+ //e.printStackTrace();
+ } catch (IOException e) {
+ //e.printStackTrace();
+ }
+
+ }
+
+ public static ArrayList loadToDoList(String listname){
+ ArrayList tasks=new ArrayList();
+ Gson gson=new Gson();
+
+ try {
+ BufferedReader br =new BufferedReader(new InputStreamReader(new FileInputStream(listname)));
+ Type list=new TypeToken>(){}.getType();
+
+ tasks=gson.fromJson(br, list);
+ br.close();
+
+ } catch (Exception e) {
+
+ }
+
+
+ return tasks;
+ }
+
+}