From ccf552ae602b7d4a5f558f4a6e21c448769ee8eb Mon Sep 17 00:00:00 2001 From: emerick-biron Date: Mon, 18 Jan 2021 10:57:55 +0100 Subject: [PATCH 01/12] First commit --- src/main/java/edt/umontp/fr/EmploiDuTemps.java | 12 ++++++++++++ src/main/java/edt/umontp/fr/Test.java | 7 +++++++ 2 files changed, 19 insertions(+) create mode 100644 src/main/java/edt/umontp/fr/EmploiDuTemps.java create mode 100644 src/main/java/edt/umontp/fr/Test.java diff --git a/src/main/java/edt/umontp/fr/EmploiDuTemps.java b/src/main/java/edt/umontp/fr/EmploiDuTemps.java new file mode 100644 index 0000000..b5f1921 --- /dev/null +++ b/src/main/java/edt/umontp/fr/EmploiDuTemps.java @@ -0,0 +1,12 @@ +package edt.umontp.fr; + +import java.io.File; + +public class EmploiDuTemps { + private final String LIEN_ICAL = ""; + private final EmploiDuTemps singleton = null; + + public File getIcs (String LIEN_ICAL){ + + } +} diff --git a/src/main/java/edt/umontp/fr/Test.java b/src/main/java/edt/umontp/fr/Test.java new file mode 100644 index 0000000..385a2ef --- /dev/null +++ b/src/main/java/edt/umontp/fr/Test.java @@ -0,0 +1,7 @@ +package edt.umontp.fr; + +public class Test { + public static void main(String[] args) { + + } +} From 247f17ca1c4ec16501f0a92c50efe031cc71bd3b Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Mon, 18 Jan 2021 11:47:21 +0100 Subject: [PATCH 02/12] =?UTF-8?q?=E2=9E=95=20Ajout=20dependence=20ical4j?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index 240da1f..c0d95ae 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,11 @@ 4.13.1 test + + org.mnode.ical4j + ical4j + 1.0.2 + From 08382954224edc00c605c622bbaed2d2a313f6b3 Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Mon, 18 Jan 2021 11:48:32 +0100 Subject: [PATCH 03/12] =?UTF-8?q?=F0=9F=9A=A7=20Ajout=20premier=20code=20p?= =?UTF-8?q?our=20r=C3=A9cup=C3=A9ration=20du=20fichier=20ics?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/edt/umontp/fr/EmploiDuTemps.java | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/main/java/edt/umontp/fr/EmploiDuTemps.java b/src/main/java/edt/umontp/fr/EmploiDuTemps.java index b5f1921..9a89d11 100644 --- a/src/main/java/edt/umontp/fr/EmploiDuTemps.java +++ b/src/main/java/edt/umontp/fr/EmploiDuTemps.java @@ -1,12 +1,38 @@ package edt.umontp.fr; import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.net.URI; + +import net.fortuna.ical4j.data.CalendarBuilder; +import net.fortuna.ical4j.data.ParserException; +import net.fortuna.ical4j.model.Calendar; public class EmploiDuTemps { - private final String LIEN_ICAL = ""; + private final String LIEN_ICAL = "https://proseconsult.umontpellier.fr/jsp/custom/modules/plannings/direct_cal.jsp?data=58c99062bab31d256bee14356aca3f2423c0f022cb9660eba051b2653be722c431b66c493702208e664667048bc04373dc5c094f7d1a811b903031bde802c7f59b21846d3c6254443d7b6e956d3145c6e0d5bac87b70fdd185b8b86771d71211a02411e8351020815cfb0dcc54c667187353dbcfc377b44753a4f433d4e51f753c2b0fc0eafdcbc1cbb6ef4e715ebea9d495758b595b12cb294e70e715876fbaa3c654023c76f43cd51442775ff171e0a5f21b50c55a5b52d94df3e7977af823a1e78ee86c6497b1cf8732d52143eeffacc27449fc13ec1f0b04d23e09712df15579474e1aa0cd65f50f33a1dd766301,1"; private final EmploiDuTemps singleton = null; - public File getIcs (String LIEN_ICAL){ + private Calendar getCalendarDepuisIcal() { + URI uri = new URI(LIEN_ICAL); + // FIXME corrige rla fonction de récupération de lien. + File file = new File(LIEN_ICAL); + Calendar calendar = null; + try (FileInputStream fileICS = new FileInputStream(file)) { + CalendarBuilder builder = new CalendarBuilder(); + calendar = builder.build(fileICS); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (ParserException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return calendar; } + } From 9d0f5e6e09bb31e39d3d346b004f16d585d219b4 Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Mon, 18 Jan 2021 12:20:12 +0100 Subject: [PATCH 04/12] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Mise=20=C3=A0=20jour?= =?UTF-8?q?=20JUnit=204=20->=205?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index c0d95ae..06f4769 100644 --- a/pom.xml +++ b/pom.xml @@ -18,11 +18,23 @@ 11 + + + + org.junit + junit-bom + 5.5.2 + pom + import + + + + - junit - junit - 4.13.1 + org.junit.jupiter + junit-jupiter + 5.4.0-M1 test From 74864818957c227b6eb3ed03ae407fdf43482bbb Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Mon, 18 Jan 2021 12:20:39 +0100 Subject: [PATCH 05/12] =?UTF-8?q?=F0=9F=9A=A7=20Ajout=20des=20class=20de?= =?UTF-8?q?=20test=20minimum?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/edt/umontp/fr/EmploiDuTemps.java | 26 +++++++++++++------ src/test/java/edt/umontp/fr/AppTest.java | 4 +-- .../java/edt/umontp/fr/EmploiDuTempsTest.java | 15 +++++++++++ 3 files changed, 35 insertions(+), 10 deletions(-) create mode 100644 src/test/java/edt/umontp/fr/EmploiDuTempsTest.java diff --git a/src/main/java/edt/umontp/fr/EmploiDuTemps.java b/src/main/java/edt/umontp/fr/EmploiDuTemps.java index 9a89d11..fedbf57 100644 --- a/src/main/java/edt/umontp/fr/EmploiDuTemps.java +++ b/src/main/java/edt/umontp/fr/EmploiDuTemps.java @@ -5,6 +5,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.net.URI; +import java.net.URISyntaxException; import net.fortuna.ical4j.data.CalendarBuilder; import net.fortuna.ical4j.data.ParserException; @@ -14,25 +15,34 @@ public class EmploiDuTemps { private final String LIEN_ICAL = "https://proseconsult.umontpellier.fr/jsp/custom/modules/plannings/direct_cal.jsp?data=58c99062bab31d256bee14356aca3f2423c0f022cb9660eba051b2653be722c431b66c493702208e664667048bc04373dc5c094f7d1a811b903031bde802c7f59b21846d3c6254443d7b6e956d3145c6e0d5bac87b70fdd185b8b86771d71211a02411e8351020815cfb0dcc54c667187353dbcfc377b44753a4f433d4e51f753c2b0fc0eafdcbc1cbb6ef4e715ebea9d495758b595b12cb294e70e715876fbaa3c654023c76f43cd51442775ff171e0a5f21b50c55a5b52d94df3e7977af823a1e78ee86c6497b1cf8732d52143eeffacc27449fc13ec1f0b04d23e09712df15579474e1aa0cd65f50f33a1dd766301,1"; private final EmploiDuTemps singleton = null; - private Calendar getCalendarDepuisIcal() { - URI uri = new URI(LIEN_ICAL); - // FIXME corrige rla fonction de récupération de lien. - File file = new File(LIEN_ICAL); + private Calendar convertieFichierIcsEnCalendar(File fichierIcs){ Calendar calendar = null; - try (FileInputStream fileICS = new FileInputStream(file)) { + try (FileInputStream fileICS = new FileInputStream(fichierIcs)) { CalendarBuilder builder = new CalendarBuilder(); calendar = builder.build(fileICS); } catch (FileNotFoundException e) { - e.printStackTrace(); } catch (IOException e) { - // TODO Auto-generated catch block e.printStackTrace(); } catch (ParserException e) { - // TODO Auto-generated catch block e.printStackTrace(); } return calendar; } + private File getFichierIcsDepuisLienIcal() { + File fichierIcs = null; + try { + fichierIcs = new File(new URI(LIEN_ICAL)); + } catch (URISyntaxException e) { + e.printStackTrace(); + } + return fichierIcs; + } + + public void actualiser() { + File fichierIcs = getFichierIcsDepuisLienIcal(); + Calendar calendar = convertieFichierIcsEnCalendar(fichierIcs); + } + } diff --git a/src/test/java/edt/umontp/fr/AppTest.java b/src/test/java/edt/umontp/fr/AppTest.java index 1712b1a..497a762 100644 --- a/src/test/java/edt/umontp/fr/AppTest.java +++ b/src/test/java/edt/umontp/fr/AppTest.java @@ -1,8 +1,8 @@ package edt.umontp.fr; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertTrue; -import org.junit.Test; +import org.junit.jupiter.api.Test; /** * Unit test for simple App. diff --git a/src/test/java/edt/umontp/fr/EmploiDuTempsTest.java b/src/test/java/edt/umontp/fr/EmploiDuTempsTest.java new file mode 100644 index 0000000..e0cc095 --- /dev/null +++ b/src/test/java/edt/umontp/fr/EmploiDuTempsTest.java @@ -0,0 +1,15 @@ +package edt.umontp.fr; + +import static org.junit.jupiter.api.Assertions.assertAll; + +import org.junit.jupiter.api.Test; + +public class EmploiDuTempsTest { + + + @Test + void test_actualiser_verifierRetourneAucuneErreur(){ + EmploiDuTemps emploiDuTemps = new EmploiDuTemps(); + assertAll(() -> emploiDuTemps.actualiser()); + } +} From 53fef519487faadaa17d7b48a15ba9e4fa9e27bb Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Mon, 18 Jan 2021 12:56:03 +0100 Subject: [PATCH 06/12] =?UTF-8?q?=E2=9C=94=20validation=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/edt/umontp/fr/EmploiDuTemps.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/edt/umontp/fr/EmploiDuTemps.java b/src/main/java/edt/umontp/fr/EmploiDuTemps.java index fedbf57..d44bbd3 100644 --- a/src/main/java/edt/umontp/fr/EmploiDuTemps.java +++ b/src/main/java/edt/umontp/fr/EmploiDuTemps.java @@ -3,9 +3,15 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; import java.net.URI; import java.net.URISyntaxException; +import java.net.URL; +import java.net.URLConnection; +import java.nio.file.Files; +import java.nio.file.Paths; import net.fortuna.ical4j.data.CalendarBuilder; import net.fortuna.ical4j.data.ParserException; @@ -33,8 +39,12 @@ private Calendar convertieFichierIcsEnCalendar(File fichierIcs){ private File getFichierIcsDepuisLienIcal() { File fichierIcs = null; try { - fichierIcs = new File(new URI(LIEN_ICAL)); - } catch (URISyntaxException e) { + fichierIcs = File.createTempFile("temp", null); + URL url = new URL(LIEN_ICAL); + InputStream in = url.openStream(); + Files.copy(in, Paths.get(fichierIcs.getName())); + } catch (IOException e) { + // TODO Auto-generated catch block e.printStackTrace(); } return fichierIcs; From 65e1cd1a469bfc8400fa5ef6526476c15dd309d8 Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Mon, 18 Jan 2021 13:07:34 +0100 Subject: [PATCH 07/12] =?UTF-8?q?=E2=9C=94=20Validation=20de=20tous=20les?= =?UTF-8?q?=20test=20sans=20erreurs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/edt/umontp/fr/EmploiDuTemps.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/edt/umontp/fr/EmploiDuTemps.java b/src/main/java/edt/umontp/fr/EmploiDuTemps.java index d44bbd3..ec81cf2 100644 --- a/src/main/java/edt/umontp/fr/EmploiDuTemps.java +++ b/src/main/java/edt/umontp/fr/EmploiDuTemps.java @@ -21,7 +21,7 @@ public class EmploiDuTemps { private final String LIEN_ICAL = "https://proseconsult.umontpellier.fr/jsp/custom/modules/plannings/direct_cal.jsp?data=58c99062bab31d256bee14356aca3f2423c0f022cb9660eba051b2653be722c431b66c493702208e664667048bc04373dc5c094f7d1a811b903031bde802c7f59b21846d3c6254443d7b6e956d3145c6e0d5bac87b70fdd185b8b86771d71211a02411e8351020815cfb0dcc54c667187353dbcfc377b44753a4f433d4e51f753c2b0fc0eafdcbc1cbb6ef4e715ebea9d495758b595b12cb294e70e715876fbaa3c654023c76f43cd51442775ff171e0a5f21b50c55a5b52d94df3e7977af823a1e78ee86c6497b1cf8732d52143eeffacc27449fc13ec1f0b04d23e09712df15579474e1aa0cd65f50f33a1dd766301,1"; private final EmploiDuTemps singleton = null; - private Calendar convertieFichierIcsEnCalendar(File fichierIcs){ + private Calendar convertieFichierIcsEnCalendar(File fichierIcs) { Calendar calendar = null; try (FileInputStream fileICS = new FileInputStream(fichierIcs)) { CalendarBuilder builder = new CalendarBuilder(); @@ -36,10 +36,13 @@ private Calendar convertieFichierIcsEnCalendar(File fichierIcs){ return calendar; } - private File getFichierIcsDepuisLienIcal() { - File fichierIcs = null; + private File getFichierIcsDepuisLienIcal() { + File fichierIcs = new File("fichier.ics"); + if (fichierIcs.isFile()) { + fichierIcs.delete(); + } try { - fichierIcs = File.createTempFile("temp", null); + // fichierIcs = File.createTempFile("temp", ".ics"); URL url = new URL(LIEN_ICAL); InputStream in = url.openStream(); Files.copy(in, Paths.get(fichierIcs.getName())); From 0659e1f747183c9234b20430a424d9c595787feb Mon Sep 17 00:00:00 2001 From: emerick-biron Date: Mon, 18 Jan 2021 13:58:51 +0100 Subject: [PATCH 08/12] =?UTF-8?q?=F0=9F=99=88=20maj=20gitignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index f836b6b..689dcab 100644 --- a/.gitignore +++ b/.gitignore @@ -119,3 +119,5 @@ local.properties nbproject/private/ build/ + +fichier.ics \ No newline at end of file From 947baefc3036cae57f150baf517d4168a3e5d316 Mon Sep 17 00:00:00 2001 From: emerick-biron Date: Mon, 18 Jan 2021 15:15:20 +0100 Subject: [PATCH 09/12] :hammer: getInfoFromDesc --- src/main/java/edt/umontp/fr/Cours.java | 12 +++++++++++- src/main/java/edt/umontp/fr/Test.java | 3 ++- src/test/java/edt/umontp/fr/CoursTest.java | 21 +++++++++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 src/test/java/edt/umontp/fr/CoursTest.java diff --git a/src/main/java/edt/umontp/fr/Cours.java b/src/main/java/edt/umontp/fr/Cours.java index 19bbd30..0e9032c 100644 --- a/src/main/java/edt/umontp/fr/Cours.java +++ b/src/main/java/edt/umontp/fr/Cours.java @@ -4,7 +4,7 @@ import java.time.LocalTime; import java.util.Objects; -public class Cours implements Comparable{ +public class Cours implements Comparable { private final LocalDate date; private final String prof; private final LocalTime heureDebut; @@ -13,6 +13,16 @@ public class Cours implements Comparable{ private final int duree; private final Groupe groupe; + public static Groupe getGroupeFromDesc(String desc) { + Groupe res = null; + for (Groupe g : Groupe.values()) { + if (desc.contains(g.name())) { + res = g; + } + } + return res; + } + @Override public boolean equals(Object o) { if (this == o) return true; diff --git a/src/main/java/edt/umontp/fr/Test.java b/src/main/java/edt/umontp/fr/Test.java index 385a2ef..b0f3087 100644 --- a/src/main/java/edt/umontp/fr/Test.java +++ b/src/main/java/edt/umontp/fr/Test.java @@ -2,6 +2,7 @@ public class Test { public static void main(String[] args) { - + System.out.println(Cours.getGroupeFromDesc("\n\n-Semestre-1\nGOUAICH ABDELKADER\nLAGUILLAUMIE FABIE " + + "N\nPOUPET VICTOR\nROSENFELD MATTHIEU\nA1valider\n(Exporté le:18 / 01 / 2 021 10:51)\n ")); } } diff --git a/src/test/java/edt/umontp/fr/CoursTest.java b/src/test/java/edt/umontp/fr/CoursTest.java new file mode 100644 index 0000000..ee025e7 --- /dev/null +++ b/src/test/java/edt/umontp/fr/CoursTest.java @@ -0,0 +1,21 @@ +package edt.umontp.fr; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class CoursTest { + + @Test + void Test_getGroupeFromDesc_A1Seul_A1() { + String desc = "\n\nA1\nGOUAICH ABDELKADER\nLAGUILLAUMIE FABIE " + "N\nPOUPET VICTOR\nROSENFELD " + + "MATTHIEU\nA valider\n(Exporté le:18 / 01 / 2 021 10:51)\n"; + assertEquals(Groupe.A1, Cours.getGroupeFromDesc(desc)); + } + + void Test_getGroupeFromDesc_A1NonSeul_A1() { + String desc = "\n\nA1-Semestre-1\nGOUAICH ABDELKADER\nLAGUILLAUMIE FABIE N\nPOUPET " + + "VICTOR\nROSENFELD MATTHIEU\nA valider\n(Exporté le:18/01/2 021 10:51)\n"; + assertEquals(Groupe.A1, Cours.getGroupeFromDesc(desc)); + } +} \ No newline at end of file From 0c1d1a1525238f91becb6f951106830388a219d0 Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Mon, 18 Jan 2021 15:16:56 +0100 Subject: [PATCH 10/12] =?UTF-8?q?=F0=9F=9A=A7=20Ajout=20constructeur=20Cou?= =?UTF-8?q?rs=20(non=20finis)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/edt/umontp/fr/Cours.java | 57 ++++++++++++++++++++------ 1 file changed, 45 insertions(+), 12 deletions(-) diff --git a/src/main/java/edt/umontp/fr/Cours.java b/src/main/java/edt/umontp/fr/Cours.java index d2d50d9..b5fba8a 100644 --- a/src/main/java/edt/umontp/fr/Cours.java +++ b/src/main/java/edt/umontp/fr/Cours.java @@ -1,21 +1,27 @@ package edt.umontp.fr; +import java.text.ParseException; import java.time.LocalDate; import java.time.LocalTime; import java.util.Objects; +import net.fortuna.ical4j.data.ParserException; +import net.fortuna.ical4j.model.Component; +import net.fortuna.ical4j.model.DateTime; +import net.fortuna.ical4j.model.Property; + public class Cours implements Comparable { - private final LocalDate date; - private final String prof; - private final LocalTime heureDebut; - private final LocalTime heureFin; - private final String lieu; - private final int duree; - private final Groupe groupe; - private final String intitule; + private LocalDate date; + private String prof; + private LocalTime heureDebut; + private LocalTime heureFin; + private String lieu; + private int duree; + private Groupe groupe; + private String intitule; public Cours(LocalDate date, String prof, LocalTime heureDebut, LocalTime heureFin, String lieu, int duree, - Groupe groupe, String intitule) { + Groupe groupe, String intitule) { this.date = date; this.prof = prof; this.heureDebut = heureDebut; @@ -26,12 +32,39 @@ public Cours(LocalDate date, String prof, LocalTime heureDebut, LocalTime heureF this.intitule = intitule; } + public Cours(Component vEvent) { + Property summary = vEvent.getProperty(Property.SUMMARY); + Property description = vEvent.getProperty(Property.DESCRIPTION); + Property dtStart = vEvent.getProperty(Property.DTSTART); + Property dtEnd = vEvent.getProperty(Property.DTEND); + Property location = vEvent.getProperty(Property.LOCATION); + + DateTime dateDebut = null; + DateTime dateFin = null; + try { + dateDebut = new DateTime(dtStart.getValue()); + dateFin = new DateTime(dtEnd.getValue()); + } catch (ParseException e) { + e.printStackTrace(); + } + date = LocalDate.ofInstant(dateDebut.toInstant(), dateDebut.getTimeZone().toZoneId()); + heureDebut = LocalTime.ofInstant(dateDebut.toInstant(), dateDebut.getTimeZone().toZoneId()); + heureFin = LocalTime.ofInstant(dateFin.toInstant(), dateFin.getTimeZone().toZoneId()); + lieu = location.getValue(); + intitule = summary.getValue(); + // TODO spliter la description pour initialiser les autres attributs + } + @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; Cours cours = (Cours) o; - return duree == cours.duree && date.equals(cours.date) && prof.equals(cours.prof) && heureDebut.equals(cours.heureDebut) && heureFin.equals(cours.heureFin) && lieu.equals(cours.lieu) && groupe == cours.groupe && intitule.equals(cours.intitule); + return duree == cours.duree && date.equals(cours.date) && prof.equals(cours.prof) + && heureDebut.equals(cours.heureDebut) && heureFin.equals(cours.heureFin) && lieu.equals(cours.lieu) + && groupe == cours.groupe && intitule.equals(cours.intitule); } @Override From a10ba9efe3a1e83f68a262917f04110724b0ca98 Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Mon, 18 Jan 2021 15:20:46 +0100 Subject: [PATCH 11/12] =?UTF-8?q?=F0=9F=9A=A7=20Premi=C3=A8re=20version=20?= =?UTF-8?q?actualiser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/edt/umontp/fr/EmploiDuTemps.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/edt/umontp/fr/EmploiDuTemps.java b/src/main/java/edt/umontp/fr/EmploiDuTemps.java index ec81cf2..0d33388 100644 --- a/src/main/java/edt/umontp/fr/EmploiDuTemps.java +++ b/src/main/java/edt/umontp/fr/EmploiDuTemps.java @@ -12,14 +12,22 @@ import java.net.URLConnection; import java.nio.file.Files; import java.nio.file.Paths; +import java.text.ParseException; +import java.time.LocalDate; +import java.time.LocalTime; +import java.util.ArrayList; import net.fortuna.ical4j.data.CalendarBuilder; import net.fortuna.ical4j.data.ParserException; import net.fortuna.ical4j.model.Calendar; +import net.fortuna.ical4j.model.Component; +import net.fortuna.ical4j.model.DateTime; +import net.fortuna.ical4j.model.Property; public class EmploiDuTemps { private final String LIEN_ICAL = "https://proseconsult.umontpellier.fr/jsp/custom/modules/plannings/direct_cal.jsp?data=58c99062bab31d256bee14356aca3f2423c0f022cb9660eba051b2653be722c431b66c493702208e664667048bc04373dc5c094f7d1a811b903031bde802c7f59b21846d3c6254443d7b6e956d3145c6e0d5bac87b70fdd185b8b86771d71211a02411e8351020815cfb0dcc54c667187353dbcfc377b44753a4f433d4e51f753c2b0fc0eafdcbc1cbb6ef4e715ebea9d495758b595b12cb294e70e715876fbaa3c654023c76f43cd51442775ff171e0a5f21b50c55a5b52d94df3e7977af823a1e78ee86c6497b1cf8732d52143eeffacc27449fc13ec1f0b04d23e09712df15579474e1aa0cd65f50f33a1dd766301,1"; private final EmploiDuTemps singleton = null; + private Planning planningEmploisDutemps; private Calendar convertieFichierIcsEnCalendar(File fichierIcs) { Calendar calendar = null; @@ -42,12 +50,10 @@ private File getFichierIcsDepuisLienIcal() { fichierIcs.delete(); } try { - // fichierIcs = File.createTempFile("temp", ".ics"); URL url = new URL(LIEN_ICAL); InputStream in = url.openStream(); Files.copy(in, Paths.get(fichierIcs.getName())); } catch (IOException e) { - // TODO Auto-generated catch block e.printStackTrace(); } return fichierIcs; @@ -56,6 +62,11 @@ private File getFichierIcsDepuisLienIcal() { public void actualiser() { File fichierIcs = getFichierIcsDepuisLienIcal(); Calendar calendar = convertieFichierIcsEnCalendar(fichierIcs); + ArrayList coursList = new ArrayList<>(); + for (Object vEvent : calendar.getComponents(Component.VEVENT)) { + coursList.add(new Cours((Component) vEvent)); + } + planningEmploisDutemps = new Planning(coursList); } } From 2aac79030fcb3b80a7be67ad397d93cda805c2c6 Mon Sep 17 00:00:00 2001 From: MathieuSoysal Date: Mon, 18 Jan 2021 15:26:43 +0100 Subject: [PATCH 12/12] =?UTF-8?q?=F0=9F=9A=A8=20Fixation=20erreur=20:=20mv?= =?UTF-8?q?n=20install?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/edt/umontp/fr/EmploiDuTemps.java | 9 +++++---- src/main/java/edt/umontp/fr/Planning.java | 3 +-- src/test/java/edt/umontp/fr/CoursTest.java | 1 + 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/edt/umontp/fr/EmploiDuTemps.java b/src/main/java/edt/umontp/fr/EmploiDuTemps.java index 0d33388..4a42cb9 100644 --- a/src/main/java/edt/umontp/fr/EmploiDuTemps.java +++ b/src/main/java/edt/umontp/fr/EmploiDuTemps.java @@ -63,10 +63,11 @@ public void actualiser() { File fichierIcs = getFichierIcsDepuisLienIcal(); Calendar calendar = convertieFichierIcsEnCalendar(fichierIcs); ArrayList coursList = new ArrayList<>(); - for (Object vEvent : calendar.getComponents(Component.VEVENT)) { - coursList.add(new Cours((Component) vEvent)); - } - planningEmploisDutemps = new Planning(coursList); + // TODO en attente de finalisation du constructeur de Cours + // for (Object vEvent : calendar.getComponents(Component.VEVENT)) { + // coursList.add(new Cours((Component) vEvent)); + // } + // planningEmploisDutemps = new Planning(coursList); } } diff --git a/src/main/java/edt/umontp/fr/Planning.java b/src/main/java/edt/umontp/fr/Planning.java index 443c483..eaaab09 100644 --- a/src/main/java/edt/umontp/fr/Planning.java +++ b/src/main/java/edt/umontp/fr/Planning.java @@ -19,10 +19,9 @@ public Iterator iterator() { return null; } - //TODO a coder @Override public void forEach(Consumer action) { - + //TODO a coder } //TODO a coder diff --git a/src/test/java/edt/umontp/fr/CoursTest.java b/src/test/java/edt/umontp/fr/CoursTest.java index ee025e7..a52659c 100644 --- a/src/test/java/edt/umontp/fr/CoursTest.java +++ b/src/test/java/edt/umontp/fr/CoursTest.java @@ -13,6 +13,7 @@ void Test_getGroupeFromDesc_A1Seul_A1() { assertEquals(Groupe.A1, Cours.getGroupeFromDesc(desc)); } + @Test void Test_getGroupeFromDesc_A1NonSeul_A1() { String desc = "\n\nA1-Semestre-1\nGOUAICH ABDELKADER\nLAGUILLAUMIE FABIE N\nPOUPET " + "VICTOR\nROSENFELD MATTHIEU\nA valider\n(Exporté le:18/01/2 021 10:51)\n";