From 5a8141d3da4ac31895229bb815e4ffea5b244c48 Mon Sep 17 00:00:00 2001 From: mms37 Date: Fri, 3 Jun 2022 15:45:33 -0700 Subject: [PATCH] read and load json, need to fix date --- .idea/libraries/google_code_gson.xml | 10 +++ ...3.assignment1.packagedeliveriestracker.iml | 1 + list.json | 1 + .../Main$1.class | Bin 0 -> 1552 bytes .../Main.class | Bin 1550 -> 4319 bytes src/Main.java | 62 +++++++++++++++++- 6 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 .idea/libraries/google_code_gson.xml create mode 100644 list.json create mode 100644 out/production/cmpt213.assignment1.packagedeliveriestracker/Main$1.class diff --git a/.idea/libraries/google_code_gson.xml b/.idea/libraries/google_code_gson.xml new file mode 100644 index 0000000..b8c8e54 --- /dev/null +++ b/.idea/libraries/google_code_gson.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/cmpt213.assignment1.packagedeliveriestracker.iml b/cmpt213.assignment1.packagedeliveriestracker.iml index c90834f..b5d0958 100644 --- a/cmpt213.assignment1.packagedeliveriestracker.iml +++ b/cmpt213.assignment1.packagedeliveriestracker.iml @@ -7,5 +7,6 @@ + \ No newline at end of file diff --git a/list.json b/list.json new file mode 100644 index 0000000..759f080 --- /dev/null +++ b/list.json @@ -0,0 +1 @@ +[{"name":"name","note":"notes","price":15.0,"weight":5.0,"delivered":false,"expectedDate":"2022-07-20T12:12"}] \ No newline at end of file diff --git a/out/production/cmpt213.assignment1.packagedeliveriestracker/Main$1.class b/out/production/cmpt213.assignment1.packagedeliveriestracker/Main$1.class new file mode 100644 index 0000000000000000000000000000000000000000..b7ad65474455f061eb347f8978d6902e66a42f99 GIT binary patch literal 1552 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 RL6(}Za4AC4)66>e_di1Kes%x= delta 975 zcmZXS-)|IE6vsbzce^t?dlweE$d6^aZE5MYMHgBSD-=X(wYm#x5v)HdlkS8JY=>sM z+rR@Z4@MFmNML+3F`zLEJ{YY@Yizpq#ra^1vkL+;hJ7+;ivqz2}d< zTiW^kpWhw=leo8?gGKv{ccotTf`)@d)VQQZ6IWOje|f3uUQMux%@%3R7Pf}@*tp7s z8`eO|;RUu^?9l9FSNJH_JE7QCC|z_{++x)YE)-|$H9xp;WcaMbZpD`NMx*Xmi?a)E z5O_7yxJQ$x_l}*nv-E4a*b@%fxx-loHG3IS*n#|C$qzh5rZD_`cZXp{EJii^crmQl z6N5!X$`4lDs$c2#gQZ42!2!lB#x(~yq==PWKM2221>54V<`pKwzwCjg#SzU>ghbS> zRE!YEG{;RIuX&4?S3Coq(7bM-q~x`!hF9{J>jt0FykT(NSX#KeD6F4uys3H1Y@`<5 z+NCM4>dQH=V)3@3`~+Y3n=eTLNi z?-Fm}<$jQ6^J3=mxY(drQEWo&q*z((+~_L%*Lb3}C& zIGt#^_3whA7{ySWXS;X@TL@}WWMszjY-WfwV=};#bjzI?rlqdR4whwjSJ=fhvRr33 zH^_059&XF2uju7#(fk|w`Cg{6d0*NX?M6hOJYVtwXGQ!WKIa@C$`6QU%<++|Huw0L zPlWQPl4a44kZH3XGi;Gnjy;$#-`~U|Qab packageList=new ArrayList<>(); +private static void save(){ + Gson gson = new GsonBuilder().registerTypeAdapter(LocalDateTime.class, + new TypeAdapter() { + @Override + public void write(JsonWriter jsonWriter, + LocalDateTime localDateTime) throws IOException { + jsonWriter.value(localDateTime.toString()); + } + @Override + public LocalDateTime read(JsonReader jsonReader) throws IOException { + return LocalDateTime.parse(jsonReader.nextString()); + } + }).create(); + try{ + Writer w = new FileWriter(fileName); + gson.toJson(packageList, w); + w.flush(); + w.close(); + } + catch (IOException e){ + e.printStackTrace(); + } +} + +private static void load(){ + File file = new File(fileName); +try{ + JsonElement element = JsonParser.parseReader(new FileReader(fileName)); + JsonArray array = element.getAsJsonArray(); + for (int i = 0; i < array.size(); i++){ + JsonObject pObj = array.get(i).getAsJsonObject(); + System.out.println(pObj.get("expectedDate").getAsString()); + DateTimeFormatter format = DateTimeFormatter.ofPattern("yyy-MM-dd HH:mm"); + packageList.add(new PackageInfo(pObj.get("name").getAsString(), + pObj.get("note").getAsString(), + pObj.get("price").getAsDouble(), + pObj.get("weight").getAsDouble(), + pObj.get("delivered").getAsBoolean(), + //fix date + LocalDateTime.parse(pObj.get("expectedDate").getAsString(), format)) + ); + } + System.out.println("packages loaded"); +} +catch (FileNotFoundException e){ +System.out.println("no packages to load"); + } +} public static void main(String[] args) { TextMenu menu=new TextMenu(); +load(); do{ menu.display(); System.out.println("choose an option between 1 and 7:"); @@ -17,6 +74,8 @@ do{ System.out.println("invalid input"); } else if(option == 7){ + save(); + System.out.print("packages saved"); break; } else{ @@ -37,6 +96,5 @@ do{ } while (true); } - }