From 5780a1362029a43aa17f86d3057e8c11eb9a93bc Mon Sep 17 00:00:00 2001 From: chocoearly44 <30342756+chocoearly44@users.noreply.github.com> Date: Tue, 26 Jul 2022 11:50:14 +0200 Subject: [PATCH] Feature/prijava ottf (#5) * Update README.md * Update README.md * Update README.md * Updated login * Updating OTTF parser * Updated OTTF * Code formatting --- README.md | 63 +++-- assets/icon.png | Bin 188941 -> 0 bytes assets/icon.svg | 31 ++ jitpack.yml | 2 - pom.xml | 57 +++- src/main/java/tk/thesuperlab/jea/JEA.java | 102 ++++--- .../thesuperlab/jea/entities/Evaluation.java | 62 +--- .../thesuperlab/jea/entities/FinalGrade.java | 15 + .../tk/thesuperlab/jea/entities/Grade.java | 38 +-- .../thesuperlab/jea/entities/GradeRank.java | 11 +- .../tk/thesuperlab/jea/entities/Semester.java | 30 +- .../tk/thesuperlab/jea/entities/Subject.java | 72 +---- .../{entities => }/filters/WeekFilter.java | 4 +- .../jea/parseentities/AjaxPrijava.java | 19 -- .../jea/parseentities/EvaluationList.java | 12 +- .../jea/parseentities/SubjectList.java | 12 +- .../jea/parseentities/login/AccessToken.java | 15 + .../jea/parseentities/login/Auth.java | 17 ++ .../jea/parseentities/login/Credentials.java | 27 ++ .../jea/parseentities/login/User.java | 15 + .../jea/parseentities/timetable/EaDay.java | 20 +- .../parseentities/timetable/EaDayEvent.java | 30 +- .../jea/parseentities/timetable/EaEvent.java | 40 +-- .../{EaTeacher.java => EaNameElement.java} | 16 +- .../jea/parseentities/timetable/EaPeriod.java | 38 +-- .../timetable/EaSchoolEvent.java | 50 +--- .../timetable/EaSchoolEventClassroom.java | 19 -- .../timetable/EaSchoolEventSubject.java | 19 -- .../timetable/EaSchoolEventTime.java | 22 +- .../jea/parseentities/timetable/EaTime.java | 20 +- .../parseentities/timetable/EaTimetable.java | 44 +-- .../tk/thesuperlab/jea/utils/OttfUtils.java | 266 ++++++++---------- .../tk/thesuperlab/jea/utils/RestUtils.java | 2 +- src/test/java/tk/thesuperlab/jea/JEATest.java | 39 +++ 34 files changed, 492 insertions(+), 737 deletions(-) delete mode 100644 assets/icon.png create mode 100644 assets/icon.svg delete mode 100644 jitpack.yml create mode 100644 src/main/java/tk/thesuperlab/jea/entities/FinalGrade.java rename src/main/java/tk/thesuperlab/jea/{entities => }/filters/WeekFilter.java (73%) delete mode 100644 src/main/java/tk/thesuperlab/jea/parseentities/AjaxPrijava.java create mode 100644 src/main/java/tk/thesuperlab/jea/parseentities/login/AccessToken.java create mode 100644 src/main/java/tk/thesuperlab/jea/parseentities/login/Auth.java create mode 100644 src/main/java/tk/thesuperlab/jea/parseentities/login/Credentials.java create mode 100644 src/main/java/tk/thesuperlab/jea/parseentities/login/User.java rename src/main/java/tk/thesuperlab/jea/parseentities/timetable/{EaTeacher.java => EaNameElement.java} (50%) delete mode 100644 src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEventClassroom.java delete mode 100644 src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEventSubject.java create mode 100644 src/test/java/tk/thesuperlab/jea/JEATest.java diff --git a/README.md b/README.md index 38c0b7f..49058ae 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- +

Java eAsistent API

@@ -8,7 +8,7 @@
-[![JitPack][jitpack-shield]][jitpack-url] +[![OTTF][ottf-shield]][ottf-url] [![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] @@ -17,44 +17,55 @@
-## Dokumentacija +## Documentation Vse metode so dokumentirane in opisane v odseku [Wiki][wiki-url]. -## Namestitev +## Installation +Zamenjajte VERSION z zadnjo različico iz [releases][releases-url]. + ### Maven -1. Dodajte repozitorij v pom.xml datoteko +1. [Avtenticiraje se z GitHub Packages](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry#authenticating-to-github-packages) + +2. Dodajte repozitorij ```xml - - - jitpack.io - https://jitpack.io - - + + github + https://maven.pkg.github.com/chocoearly44/jea + + true + + ``` -2. Dodajte knjižnjico +3. Dodajte knjižnjico ```xml - com.github.chocoearly44 - JEA - Tag + tk.thesuperlab + jea + VERSION ``` ### Gradle -1. Dodajte repozitorij v gradle datoteko +1. [Avtenticiraje se z GitHub Packages](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry#authenticating-to-github-packages) + +2. Dodajte repozitorij ```groovy -allprojects { - repositories { - maven { url 'https://jitpack.io' } +repositories { + maven { + url = uri("https://maven.pkg.github.com/chocoearly44/jea") + credentials { + username = System.getenv("USERNAME") + password = System.getenv("TOKEN") } + } } ``` -2. Dodajte knjižnjico +3. Dodajte knjižnjico ```groovy dependencies { - implementation 'com.github.chocoearly44:JEA:Tag' + implementation 'tk.thesuperlab:jea:VERSION' } ``` @@ -62,24 +73,24 @@ dependencies { Knjižnjica bazira na projektu eAsistent wrapper za Python, ki ga je naredil [LevecGG](https://github.com/LevecGG). ## Poročanje o napakah -Če med uporabo knjižnice naletite na kakršne koli napake, jih prijavite v odseku [Issues][issues-url]. +Če med uporabo JEA naletite na kakršne koli napake, jih prijavite v odseku [Issues][issues-url]. ## Podpora -Dodatno podporo lahko prejmete v odseku [Discussions][discussions-url] tukaj na GitHubu. +Dodatno podporo lahko prejmete v odseku [Discussions][discussions-url]. +[ottf-shield]: https://img.shields.io/badge/OTTF-v1.0-blueviolet?style=for-the-badge [contributors-shield]: https://img.shields.io/github/contributors/chocoearly44/JEA.svg?style=for-the-badge [forks-shield]: https://img.shields.io/github/forks/chocoearly44/JEA.svg?style=for-the-badge [stars-shield]: https://img.shields.io/github/stars/chocoearly44/JEA.svg?style=for-the-badge [issues-shield]: https://img.shields.io/github/issues/chocoearly44/JEA.svg?style=for-the-badge [license-shield]: https://img.shields.io/github/license/chocoearly44/JEA.svg?style=for-the-badge -[jitpack-shield]: https://img.shields.io/jitpack/v/github/chocoearly44/JEA?style=for-the-badge +[ottf-url]: https://github.com/OpenTimetable/OpenTimetable-v1 [contributors-url]: https://github.com/chocoearly44/JEA/graphs/contributors [forks-url]: https://github.com/chocoearly44/JEA/network/members [stars-url]: https://github.com/chocoearly44/JEA/stargazers [issues-url]: https://github.com/chocoearly44/JEA/issues [license-url]: https://github.com/chocoearly44/JEA/blob/master/LICENSE -[jitpack-url]: https://jitpack.io/#chocoearly44/JEA [wiki-url]: https://github.com/chocoearly44/JEA/wiki [releases-url]: https://github.com/chocoearly44/JEA/releases -[discussions-url]: https://github.com/chocoearly44/JEA/discussions +[discussions-url]: https://github.com/chocoearly44/JEA/discussions \ No newline at end of file diff --git a/assets/icon.png b/assets/icon.png deleted file mode 100644 index a4f3ce6d9823641e067605c5a276c9feee2f990b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188941 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%0DpemLY57S|DZX;T841a=ZW3sepWXKN{S5eoIlqH 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

Q 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%0Anxija63N%29J8aVi#M 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 diff --git a/assets/icon.svg b/assets/icon.svg new file mode 100644 index 0000000..5ab6331 --- /dev/null +++ b/assets/icon.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jitpack.yml b/jitpack.yml deleted file mode 100644 index 4c8fca1..0000000 --- a/jitpack.yml +++ /dev/null @@ -1,2 +0,0 @@ -jdk: - - openjdk8 diff --git a/pom.xml b/pom.xml index 6234ed9..b1be571 100644 --- a/pom.xml +++ b/pom.xml @@ -1,48 +1,77 @@ - 4.0.0 tk.thesuperlab jea - 2.1 + 2.2 + JEA 8 8 + + + github + GitHub chocoearly44 Apache Maven Packages + https://maven.pkg.github.com/chocoearly44/jea + + + - jitpack.io - https://jitpack.io + github + https://maven.pkg.github.com/opentimetable/ottf4j + + true + + - com.github.OpenTimeTable - JavaOTTF + org.opentimetable + ottf4j 1.0 + + com.squareup.okhttp3 + okhttp + 4.10.0 + + + com.fasterxml.jackson.core jackson-databind - 2.13.1 + 2.13.3 - com.squareup.okhttp3 - okhttp - 4.9.3 + org.projectlombok + lombok + 1.18.24 + + + + + org.junit.jupiter + junit-jupiter + 5.8.2 + test - org.jsoup - jsoup - 1.14.3 + io.hosuaby + inject-resources-junit-jupiter + 0.3.2 + test \ No newline at end of file diff --git a/src/main/java/tk/thesuperlab/jea/JEA.java b/src/main/java/tk/thesuperlab/jea/JEA.java index 02a1d5f..8b47310 100644 --- a/src/main/java/tk/thesuperlab/jea/JEA.java +++ b/src/main/java/tk/thesuperlab/jea/JEA.java @@ -3,22 +3,22 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import okhttp3.*; -import org.jsoup.Jsoup; -import org.jsoup.nodes.Document; -import org.jsoup.select.Elements; -import org.opentimetable.javaottf.entities.Timetable; +import org.opentimetable.ottf4j.entities.Timetable; import tk.thesuperlab.jea.entities.Evaluation; import tk.thesuperlab.jea.entities.Subject; -import tk.thesuperlab.jea.entities.filters.WeekFilter; import tk.thesuperlab.jea.exceptions.IncorrectCredentialsException; -import tk.thesuperlab.jea.parseentities.AjaxPrijava; +import tk.thesuperlab.jea.filters.WeekFilter; +import tk.thesuperlab.jea.parseentities.login.Auth; +import tk.thesuperlab.jea.parseentities.login.Credentials; import tk.thesuperlab.jea.utils.RestUtils; +import java.io.IOException; import java.text.Format; import java.text.SimpleDateFormat; import java.time.DayOfWeek; import java.time.LocalDate; import java.time.ZoneId; +import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -30,12 +30,6 @@ * @since 2.0 */ public class JEA { - private final String uporabniskoIme; - private final String geslo; - - private String bearerToken; - private String childId; - private static final ObjectMapper om; private static final Format formatter = new SimpleDateFormat("yyyy-MM-dd"); @@ -44,29 +38,29 @@ public class JEA { om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); } + private final String uporabniskoIme; + private final String geslo; + private String bearerToken; + private String childId; + /** * @param uporabniskoIme Vaše uporabniško ime za prijavo v eAsistent * @param geslo Vaše geslo za prijavo v eAsistent. - * @throws IncorrectCredentialsException - * @author chocoearly44 + * @throws IncorrectCredentialsException Podatki za prijavo so napačni + * @throws IOException Napaka pri povezavi * @since 2.0 */ - public JEA(String uporabniskoIme, String geslo) throws IncorrectCredentialsException { + public JEA(String uporabniskoIme, String geslo) throws IncorrectCredentialsException, IOException { this.uporabniskoIme = uporabniskoIme; this.geslo = geslo; - try { - getAccessToken(); - } catch(IncorrectCredentialsException e) { - throw new IncorrectCredentialsException(); - } + getAccessToken(); } /** * Metoda vam vrne seznam prihodnjih ocenjevanj * * @return Seznam ocenjevanj - * @author chocoearly44 * @since 2.0 */ public List getFutureEvaluations() { @@ -77,7 +71,6 @@ public List getFutureEvaluations() { * Metoda vam vrne seznam preteklih ocenjevanj * * @return Seznam ocenjevanj - * @author chocoearly44 * @since 2.0 */ public List getPastEvaluations() { @@ -90,19 +83,29 @@ public List getPastEvaluations() { * @param ponedeljek Datum ponedeljka v tednu * @param nedelja Datum nedelje v tednu * @return OTTF objekt urnika - * @author chocoearly44 * @since 2.0 */ public Timetable getTimetable(Date ponedeljek, Date nedelja) { return RestUtils.getTimetable(bearerToken, childId, formatter.format(ponedeljek), formatter.format(nedelja)); } + /** + * Metoda vam vrne OTTF objekt tedenskega urnika + * + * @param ponedeljek Niz ponedeljka v tednu (yyyy-MM-dd) + * @param nedelja Niz nedelje v tednu (yyyy-MM-dd) + * @return OTTF objekt urnika + * @since 2.0 + */ + public Timetable getTimetable(String ponedeljek, String nedelja) { + return RestUtils.getTimetable(bearerToken, childId, ponedeljek, nedelja); + } + /** * Metoda vam vrne OTTF objekt tedenskega urnika glede na tedenski filter * * @param tedenskiFilter Tedenski filter * @return OTTF objekt urnika - * @author chocoearly44 * @since 2.1 */ public Timetable getTimetable(WeekFilter tedenskiFilter) { @@ -148,7 +151,6 @@ public Timetable getTimetable(WeekFilter tedenskiFilter) { * Metoda vam vrne seznam vseh predmetov * * @return seznam vseh predmetov - * @author chocoearly44 * @since 2.1 */ public List getAllGrades() { @@ -161,43 +163,33 @@ private Date getDate(LocalDate localDate) { ); } - private void getAccessToken() throws IncorrectCredentialsException { + private void getAccessToken() throws IncorrectCredentialsException, IOException { OkHttpClient client = new OkHttpClient(); - RequestBody body = new FormBody.Builder() - .add("uporabnik", uporabniskoIme) - .add("geslo", geslo) - .build(); + List types = new ArrayList<>(); + types.add("child"); + + RequestBody body = RequestBody.create( + om.writeValueAsString(new Credentials(uporabniskoIme, geslo, types)), + MediaType.parse("application/json") + ); Request request = new Request.Builder() - .url("https://www.easistent.com/p/ajax_prijava") + .url("https://www.easistent.com/m/login") .post(body) + .addHeader("x-app-name", "family") + .addHeader("x-client-version", "13") + .addHeader("x-client-platform", "web") .build(); - try(Response response = client.newCall(request).execute()) { - AjaxPrijava ajaxPrijava = om.readValue(response.body().string(), AjaxPrijava.class); - - if(ajaxPrijava.getStatus().equals("ok")) { - Request getWebsite = new Request.Builder().url("https://www.easistent.com").addHeader("Cookie", response.headers().get("Set-Cookie")).build(); - - try(Response easistentWebsite = client.newCall(getWebsite).execute()) { - String eaWebsite = easistentWebsite.body().string(); - Document website = Jsoup.parse(eaWebsite, "utf-8"); - - Elements metaElements = website.select("meta"); - for(int i = 0; i < metaElements.size(); i++) { - if(metaElements.get(i).attr("name").equals("access-token")) { - bearerToken = metaElements.get(i).attr("content"); - } else if(metaElements.get(i).attr("name").equals("x-child-id")) { - childId = metaElements.get(i).attr("content"); - } - } - } - } else { - throw new IncorrectCredentialsException(); - } - } catch(Exception e) { - e.printStackTrace(); + Response response = client.newCall(request).execute(); + + if(response.code() == 401) { + throw new IncorrectCredentialsException(); } + + Auth auth = om.readValue(response.body().string(), Auth.class); + bearerToken = auth.getAccessToken().getBearerToken(); + childId = String.valueOf(auth.getUser().getId()); } } diff --git a/src/main/java/tk/thesuperlab/jea/entities/Evaluation.java b/src/main/java/tk/thesuperlab/jea/entities/Evaluation.java index 44201c1..33faaa9 100644 --- a/src/main/java/tk/thesuperlab/jea/entities/Evaluation.java +++ b/src/main/java/tk/thesuperlab/jea/entities/Evaluation.java @@ -1,10 +1,14 @@ package tk.thesuperlab.jea.entities; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +@Getter +@Setter public class Evaluation { @JsonProperty("id") - private int id; + private Long id; @JsonProperty("course") private String course; @JsonProperty("subject") @@ -20,60 +24,4 @@ public class Evaluation { public Evaluation() { } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getCourse() { - return course; - } - - public void setCourse(String course) { - this.course = course; - } - - public String getSubject() { - return subject; - } - - public void setSubject(String subject) { - this.subject = subject; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getDate() { - return date; - } - - public void setDate(String date) { - this.date = date; - } - - public String getPeriod() { - return period; - } - - public void setPeriod(String period) { - this.period = period; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } } diff --git a/src/main/java/tk/thesuperlab/jea/entities/FinalGrade.java b/src/main/java/tk/thesuperlab/jea/entities/FinalGrade.java new file mode 100644 index 0000000..dbcba62 --- /dev/null +++ b/src/main/java/tk/thesuperlab/jea/entities/FinalGrade.java @@ -0,0 +1,15 @@ +package tk.thesuperlab.jea.entities; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class FinalGrade { + @JsonProperty("value") + private String value; + + public FinalGrade() { + } +} diff --git a/src/main/java/tk/thesuperlab/jea/entities/Grade.java b/src/main/java/tk/thesuperlab/jea/entities/Grade.java index 282ee6c..8c318e4 100644 --- a/src/main/java/tk/thesuperlab/jea/entities/Grade.java +++ b/src/main/java/tk/thesuperlab/jea/entities/Grade.java @@ -1,10 +1,14 @@ package tk.thesuperlab.jea.entities; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +@Getter +@Setter public class Grade { @JsonProperty("id") - private int id; + private Long id; @JsonProperty("type_name") private String typeName; @JsonProperty("comment") @@ -14,36 +18,4 @@ public class Grade { public Grade() { } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getComment() { - return comment; - } - - public void setComment(String comment) { - this.comment = comment; - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } } diff --git a/src/main/java/tk/thesuperlab/jea/entities/GradeRank.java b/src/main/java/tk/thesuperlab/jea/entities/GradeRank.java index df6f16e..dd03f0b 100644 --- a/src/main/java/tk/thesuperlab/jea/entities/GradeRank.java +++ b/src/main/java/tk/thesuperlab/jea/entities/GradeRank.java @@ -1,7 +1,12 @@ package tk.thesuperlab.jea.entities; +import com.fasterxml.jackson.annotation.JsonProperty; + public enum GradeRank { - poor, - average, - good + @JsonProperty("poor") + POOR, + @JsonProperty("average") + AVERAGE, + @JsonProperty("good") + GOOD } diff --git a/src/main/java/tk/thesuperlab/jea/entities/Semester.java b/src/main/java/tk/thesuperlab/jea/entities/Semester.java index 317304e..2c6098a 100644 --- a/src/main/java/tk/thesuperlab/jea/entities/Semester.java +++ b/src/main/java/tk/thesuperlab/jea/entities/Semester.java @@ -1,12 +1,16 @@ package tk.thesuperlab.jea.entities; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; import java.util.ArrayList; +@Getter +@Setter public class Semester { @JsonProperty("id") - private int id; + private Long id; @JsonProperty("final_grade") private String finalGrade; @JsonProperty("grades") @@ -14,28 +18,4 @@ public class Semester { public Semester() { } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getFinalGrade() { - return finalGrade; - } - - public void setFinalGrade(String finalGrade) { - this.finalGrade = finalGrade; - } - - public ArrayList getGrades() { - return grades; - } - - public void setGrades(ArrayList grades) { - this.grades = grades; - } } diff --git a/src/main/java/tk/thesuperlab/jea/entities/Subject.java b/src/main/java/tk/thesuperlab/jea/entities/Subject.java index eb18c8d..203896f 100644 --- a/src/main/java/tk/thesuperlab/jea/entities/Subject.java +++ b/src/main/java/tk/thesuperlab/jea/entities/Subject.java @@ -1,9 +1,13 @@ package tk.thesuperlab.jea.entities; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; import java.util.ArrayList; +@Getter +@Setter public class Subject { @JsonProperty("name") private String name; @@ -12,9 +16,9 @@ public class Subject { @JsonProperty("id") private String id; @JsonProperty("is_excused") - private boolean isExcused; + private Boolean isExcused; @JsonProperty("final_grade") - private String finalGrade; + private FinalGrade finalGrade; @JsonProperty("average_grade") private String averageGrade; @JsonProperty("grade_rank") @@ -24,68 +28,4 @@ public class Subject { public Subject() { } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getAbbreviation() { - return abbreviation; - } - - public void setAbbreviation(String abbreviation) { - this.abbreviation = abbreviation; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public boolean isExcused() { - return isExcused; - } - - public void setExcused(boolean excused) { - isExcused = excused; - } - - public String getFinalGrade() { - return finalGrade; - } - - public void setFinalGrade(String finalGrade) { - this.finalGrade = finalGrade; - } - - public String getAverageGrade() { - return averageGrade; - } - - public void setAverageGrade(String averageGrade) { - this.averageGrade = averageGrade; - } - - public GradeRank getGradeRank() { - return gradeRank; - } - - public void setGradeRank(GradeRank gradeRank) { - this.gradeRank = gradeRank; - } - - public ArrayList getSemesters() { - return semesters; - } - - public void setSemesters(ArrayList semesters) { - this.semesters = semesters; - } } diff --git a/src/main/java/tk/thesuperlab/jea/entities/filters/WeekFilter.java b/src/main/java/tk/thesuperlab/jea/filters/WeekFilter.java similarity index 73% rename from src/main/java/tk/thesuperlab/jea/entities/filters/WeekFilter.java rename to src/main/java/tk/thesuperlab/jea/filters/WeekFilter.java index a87b549..4abac7a 100644 --- a/src/main/java/tk/thesuperlab/jea/entities/filters/WeekFilter.java +++ b/src/main/java/tk/thesuperlab/jea/filters/WeekFilter.java @@ -1,4 +1,4 @@ -package tk.thesuperlab.jea.entities.filters; +package tk.thesuperlab.jea.filters; /** * Tedenski filter za urnik @@ -13,7 +13,7 @@ public enum WeekFilter { LAST_WEEK, /** - * Pridobi urnik za trenutni (tekoči) teden + * Pridobi urnik za tekoči teden */ CURRENT_WEEK, diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/AjaxPrijava.java b/src/main/java/tk/thesuperlab/jea/parseentities/AjaxPrijava.java deleted file mode 100644 index 6c4fb4d..0000000 --- a/src/main/java/tk/thesuperlab/jea/parseentities/AjaxPrijava.java +++ /dev/null @@ -1,19 +0,0 @@ -package tk.thesuperlab.jea.parseentities; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class AjaxPrijava { - @JsonProperty("status") - private String status; - - public AjaxPrijava() { - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } -} diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/EvaluationList.java b/src/main/java/tk/thesuperlab/jea/parseentities/EvaluationList.java index 54107d3..52525c0 100644 --- a/src/main/java/tk/thesuperlab/jea/parseentities/EvaluationList.java +++ b/src/main/java/tk/thesuperlab/jea/parseentities/EvaluationList.java @@ -1,22 +1,18 @@ package tk.thesuperlab.jea.parseentities; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; import tk.thesuperlab.jea.entities.Evaluation; import java.util.ArrayList; +@Getter +@Setter public class EvaluationList { @JsonProperty("items") ArrayList evaluations; public EvaluationList() { } - - public ArrayList getEvaluations() { - return evaluations; - } - - public void setEvaluations(ArrayList evaluations) { - this.evaluations = evaluations; - } } diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/SubjectList.java b/src/main/java/tk/thesuperlab/jea/parseentities/SubjectList.java index bbcd99e..80e5817 100644 --- a/src/main/java/tk/thesuperlab/jea/parseentities/SubjectList.java +++ b/src/main/java/tk/thesuperlab/jea/parseentities/SubjectList.java @@ -1,22 +1,18 @@ package tk.thesuperlab.jea.parseentities; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; import tk.thesuperlab.jea.entities.Subject; import java.util.ArrayList; +@Getter +@Setter public class SubjectList { @JsonProperty("items") private ArrayList subjects; public SubjectList() { } - - public ArrayList getSubjects() { - return subjects; - } - - public void setSubjects(ArrayList subjects) { - this.subjects = subjects; - } } diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/login/AccessToken.java b/src/main/java/tk/thesuperlab/jea/parseentities/login/AccessToken.java new file mode 100644 index 0000000..8a0e76a --- /dev/null +++ b/src/main/java/tk/thesuperlab/jea/parseentities/login/AccessToken.java @@ -0,0 +1,15 @@ +package tk.thesuperlab.jea.parseentities.login; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class AccessToken { + @JsonProperty("token") + private String bearerToken; + + public AccessToken() { + } +} diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/login/Auth.java b/src/main/java/tk/thesuperlab/jea/parseentities/login/Auth.java new file mode 100644 index 0000000..aa9016b --- /dev/null +++ b/src/main/java/tk/thesuperlab/jea/parseentities/login/Auth.java @@ -0,0 +1,17 @@ +package tk.thesuperlab.jea.parseentities.login; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class Auth { + @JsonProperty("access_token") + private AccessToken accessToken; + @JsonProperty("user") + private User user; + + public Auth() { + } +} diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/login/Credentials.java b/src/main/java/tk/thesuperlab/jea/parseentities/login/Credentials.java new file mode 100644 index 0000000..1217334 --- /dev/null +++ b/src/main/java/tk/thesuperlab/jea/parseentities/login/Credentials.java @@ -0,0 +1,27 @@ +package tk.thesuperlab.jea.parseentities.login; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class Credentials { + @JsonProperty("username") + private String username; + @JsonProperty("password") + private String password; + @JsonProperty("supported_user_types") + private List supportedUserTypes; + + public Credentials(String username, String password, List supportedUserTypes) { + this.username = username; + this.password = password; + this.supportedUserTypes = supportedUserTypes; + } + + public Credentials() { + } +} diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/login/User.java b/src/main/java/tk/thesuperlab/jea/parseentities/login/User.java new file mode 100644 index 0000000..a104e5c --- /dev/null +++ b/src/main/java/tk/thesuperlab/jea/parseentities/login/User.java @@ -0,0 +1,15 @@ +package tk.thesuperlab.jea.parseentities.login; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class User { + @JsonProperty("id") + private Long id; + + public User() { + } +} diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaDay.java b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaDay.java index e596607..15813e4 100644 --- a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaDay.java +++ b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaDay.java @@ -1,7 +1,11 @@ package tk.thesuperlab.jea.parseentities.timetable; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +@Getter +@Setter public class EaDay { @JsonProperty("name") private String name; @@ -10,20 +14,4 @@ public class EaDay { public EaDay() { } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDate() { - return date; - } - - public void setDate(String date) { - this.date = date; - } } \ No newline at end of file diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaDayEvent.java b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaDayEvent.java index dbc7968..3c45da3 100644 --- a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaDayEvent.java +++ b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaDayEvent.java @@ -1,41 +1,21 @@ package tk.thesuperlab.jea.parseentities.timetable; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; import java.util.List; +@Getter +@Setter public class EaDayEvent { @JsonProperty("date") private String date; @JsonProperty("name") private String name; @JsonProperty("teachers") - private List teachers; + private List teachers; public EaDayEvent() { } - - public String getDate() { - return date; - } - - public void setDate(String date) { - this.date = date; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public List getTeachers() { - return teachers; - } - - public void setTeachers(List teachers) { - this.teachers = teachers; - } } diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaEvent.java b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaEvent.java index bb91092..691bce8 100644 --- a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaEvent.java +++ b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaEvent.java @@ -1,9 +1,13 @@ package tk.thesuperlab.jea.parseentities.timetable; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; import java.util.List; +@Getter +@Setter public class EaEvent { @JsonProperty("date") private String date; @@ -11,41 +15,11 @@ public class EaEvent { private String name; @JsonProperty("time") private EaTime time; + @JsonProperty("location") + private EaNameElement location; @JsonProperty("teachers") - private List teachers; + private List teachers; public EaEvent() { } - - public String getDate() { - return date; - } - - public void setDate(String date) { - this.date = date; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public EaTime getTime() { - return time; - } - - public void setTime(EaTime time) { - this.time = time; - } - - public List getTeachers() { - return teachers; - } - - public void setTeachers(List teachers) { - this.teachers = teachers; - } } diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaTeacher.java b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaNameElement.java similarity index 50% rename from src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaTeacher.java rename to src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaNameElement.java index f6990ea..27ab148 100644 --- a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaTeacher.java +++ b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaNameElement.java @@ -1,19 +1,15 @@ package tk.thesuperlab.jea.parseentities.timetable; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; -public class EaTeacher { +@Getter +@Setter +public class EaNameElement { @JsonProperty("name") private String name; - public EaTeacher() { - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; + public EaNameElement() { } } diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaPeriod.java b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaPeriod.java index c3ffd72..d61db44 100644 --- a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaPeriod.java +++ b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaPeriod.java @@ -1,10 +1,14 @@ package tk.thesuperlab.jea.parseentities.timetable; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +@Getter +@Setter public class EaPeriod { @JsonProperty("id") - private int id; + private Long id; @JsonProperty("name") private String name; @JsonProperty("time") @@ -14,36 +18,4 @@ public class EaPeriod { public EaPeriod() { } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public EaTime getTime() { - return time; - } - - public void setTime(EaTime time) { - this.time = time; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } } diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEvent.java b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEvent.java index fd7cc29..688d7a6 100644 --- a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEvent.java +++ b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEvent.java @@ -1,61 +1,25 @@ package tk.thesuperlab.jea.parseentities.timetable; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; import java.util.List; +@Getter +@Setter public class EaSchoolEvent { @JsonProperty("time") private EaSchoolEventTime time; @JsonProperty("subject") - private EaSchoolEventSubject subject; + private EaNameElement subject; @JsonProperty("hour_special_type") private String specialType; @JsonProperty("classroom") - private EaSchoolEventClassroom classroom; + private EaNameElement classroom; @JsonProperty("teachers") - private List teachers; + private List teachers; public EaSchoolEvent() { } - - public EaSchoolEventTime getTime() { - return time; - } - - public void setTime(EaSchoolEventTime time) { - this.time = time; - } - - public EaSchoolEventSubject getSubject() { - return subject; - } - - public void setSubject(EaSchoolEventSubject subject) { - this.subject = subject; - } - - public String getSpecialType() { - return specialType; - } - - public void setSpecialType(String specialType) { - this.specialType = specialType; - } - - public EaSchoolEventClassroom getClassroom() { - return classroom; - } - - public void setClassroom(EaSchoolEventClassroom classroom) { - this.classroom = classroom; - } - - public List getTeachers() { - return teachers; - } - - public void setTeachers(List teachers) { - this.teachers = teachers; - } } diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEventClassroom.java b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEventClassroom.java deleted file mode 100644 index 12633b0..0000000 --- a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEventClassroom.java +++ /dev/null @@ -1,19 +0,0 @@ -package tk.thesuperlab.jea.parseentities.timetable; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class EaSchoolEventClassroom { - @JsonProperty("name") - private String name; - - public EaSchoolEventClassroom() { - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEventSubject.java b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEventSubject.java deleted file mode 100644 index edd5fed..0000000 --- a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEventSubject.java +++ /dev/null @@ -1,19 +0,0 @@ -package tk.thesuperlab.jea.parseentities.timetable; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public class EaSchoolEventSubject { - @JsonProperty("name") - private String name; - - public EaSchoolEventSubject() { - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEventTime.java b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEventTime.java index c51b038..542ed05 100644 --- a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEventTime.java +++ b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaSchoolEventTime.java @@ -1,29 +1,17 @@ package tk.thesuperlab.jea.parseentities.timetable; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +@Getter +@Setter public class EaSchoolEventTime { @JsonProperty("from_id") - private int periodId; + private Long periodId; @JsonProperty("date") private String date; public EaSchoolEventTime() { } - - public int getPeriodId() { - return periodId; - } - - public void setPeriodId(int periodId) { - this.periodId = periodId; - } - - public String getDate() { - return date; - } - - public void setDate(String date) { - this.date = date; - } } diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaTime.java b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaTime.java index abdb6b7..adcc764 100644 --- a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaTime.java +++ b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaTime.java @@ -1,7 +1,11 @@ package tk.thesuperlab.jea.parseentities.timetable; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +@Getter +@Setter public class EaTime { @JsonProperty("from") private String from; @@ -10,20 +14,4 @@ public class EaTime { public EaTime() { } - - public String getFrom() { - return from; - } - - public void setFrom(String from) { - this.from = from; - } - - public String getTo() { - return to; - } - - public void setTo(String to) { - this.to = to; - } } diff --git a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaTimetable.java b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaTimetable.java index c48d777..43e97c1 100644 --- a/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaTimetable.java +++ b/src/main/java/tk/thesuperlab/jea/parseentities/timetable/EaTimetable.java @@ -1,9 +1,13 @@ package tk.thesuperlab.jea.parseentities.timetable; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; import java.util.List; +@Getter +@Setter public class EaTimetable { @JsonProperty("time_table") private List periods; @@ -18,44 +22,4 @@ public class EaTimetable { public EaTimetable() { } - - public List getPeriods() { - return periods; - } - - public void setPeriods(List periods) { - this.periods = periods; - } - - public List getDays() { - return days; - } - - public void setDays(List days) { - this.days = days; - } - - public List getSchoolEvents() { - return schoolEvents; - } - - public void setSchoolEvents(List schoolEvents) { - this.schoolEvents = schoolEvents; - } - - public List getEvents() { - return events; - } - - public void setEvents(List events) { - this.events = events; - } - - public List getDayEvents() { - return dayEvents; - } - - public void setDayEvents(List dayEvents) { - this.dayEvents = dayEvents; - } } diff --git a/src/main/java/tk/thesuperlab/jea/utils/OttfUtils.java b/src/main/java/tk/thesuperlab/jea/utils/OttfUtils.java index 94da96a..1dca870 100644 --- a/src/main/java/tk/thesuperlab/jea/utils/OttfUtils.java +++ b/src/main/java/tk/thesuperlab/jea/utils/OttfUtils.java @@ -3,14 +3,15 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; -import org.opentimetable.javaottf.entities.*; -import org.opentimetable.javaottf.enums.WeekDay; -import tk.thesuperlab.jea.parseentities.timetable.*; +import org.opentimetable.ottf4j.entities.*; +import tk.thesuperlab.jea.parseentities.timetable.EaNameElement; +import tk.thesuperlab.jea.parseentities.timetable.EaTimetable; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.TreeMap; +import java.util.stream.Collectors; public class OttfUtils { private static final ObjectMapper om; @@ -24,155 +25,126 @@ public static Timetable convertTimetable(String rawSchedule) throws JsonProcessi Timetable toReturn = new Timetable(); EaTimetable eaTimetable = om.readValue(rawSchedule, EaTimetable.class); + // Set metadata + toReturn.setMetadata( + new Metadata( + "1.0", + "CEST", + "Java eAsistent API", + System.currentTimeMillis() / 1000 + ) + ); + // Set cues Cues cues = new Cues(); - TreeMap periods = new TreeMap(); - HashMap periodIds = new HashMap(); - ArrayList recesses = new ArrayList(); - - for(EaPeriod eaPeriod : eaTimetable.getPeriods()) { - Span span = new Span(); - span.setFrom(eaPeriod.getTime().getFrom()); - span.setTo(eaPeriod.getTime().getTo()); - - if(eaPeriod.getType().equals("default")) { - periods.put(eaPeriod.getName(), span); - periodIds.put(eaPeriod.getId(), span); - } else if(eaPeriod.getType().equals("break")) { - recesses.add(span); - } - } - - cues.setPeriods(periods); - cues.setRecesses(recesses); - - // Set days - HashMap days = new HashMap(); - - for(EaDay eaDay : eaTimetable.getDays()) { - Day day = new Day(); - WeekDay weekDay = null; - - day.setDate(eaDay.getDate()); - day.setPreclasses(new TreeMap>()); - day.setClasses(new TreeMap>()); - day.setEvents(new ArrayList()); - day.setDayevents(new ArrayList()); - - switch(eaDay.getName()) { - case "Ponedeljek": - weekDay = WeekDay.MON; - break; - case "Torek": - weekDay = WeekDay.TUE; - break; - case "Sreda": - weekDay = WeekDay.WED; - break; - case "Četrtek": - weekDay = WeekDay.THU; - break; - case "Petek": - weekDay = WeekDay.FRI; - break; - } - - days.put(weekDay, day); - } - - // Set Classes - HashMap tempDays = new HashMap(); - - for(Day dayScan : days.values()) { - tempDays.put(dayScan.getDate(), dayScan); - } - - for(EaSchoolEvent periodEvent : eaTimetable.getSchoolEvents()) { - Day dayToModify = tempDays.get(periodEvent.getTime().getDate()); - - ClassEvent classToAdd = new ClassEvent(); - - if(periodEvent.getSpecialType() != null && !periodEvent.getSpecialType().isEmpty()) { - classToAdd.setSubstitution(periodEvent.getSpecialType().equals("substitution")); - classToAdd.setExamination(periodEvent.getSpecialType().equals("exam")); - classToAdd.setCanceled(periodEvent.getSpecialType().equals("cancelled")); - } - - classToAdd.setName(periodEvent.getSubject().getName()); - classToAdd.setAbbreviation(periodEvent.getSubject().getName()); - classToAdd.setLocation(periodEvent.getClassroom().getName()); - classToAdd.setHosts(new ArrayList()); - - for(EaTeacher eaTeacher : periodEvent.getTeachers()) { - classToAdd.getHosts().add(eaTeacher.getName()); - } - - Span classSpan = periodIds.get(periodEvent.getTime().getPeriodId()); - String spanName = ""; - - for(String name : periods.keySet()) { - if(periods.get(name) == classSpan) { - spanName = name; - break; - } - } - - dayToModify.getClasses().computeIfAbsent(spanName, k -> new ArrayList()); - - ArrayList classesToModify = (ArrayList) dayToModify.getClasses().get(spanName); - classesToModify.add(classToAdd); - - dayToModify.getClasses().put(spanName, classesToModify); - } - - // Set events - ArrayList events = new ArrayList(); - - for(EaEvent eaEvent : eaTimetable.getEvents()) { - Event eventToAdd = new Event(); - eventToAdd.setFrom(eaEvent.getTime().getFrom()); - eventToAdd.setTo(eaEvent.getTime().getTo()); - eventToAdd.setTitle(eaEvent.getName()); - - ArrayList eventTeachers = new ArrayList(); - for(EaTeacher teacher : eaEvent.getTeachers()) { - eventTeachers.add(teacher.getName()); - } - - eventToAdd.setHosts(eventTeachers); - - Day dayToModify = tempDays.get(eaEvent.getDate()); - if(dayToModify.getEvents() != null) { - dayToModify.setEvents(new ArrayList()); - } - - dayToModify.getEvents().add(eventToAdd); - } - - // Set day events - ArrayList dayEvents = new ArrayList(); - - for(EaDayEvent eaDayEvent : eaTimetable.getDayEvents()) { - DayEvent dayEventToAdd = new DayEvent(); - dayEventToAdd.setTitle(eaDayEvent.getName()); - - ArrayList eventTeachers = new ArrayList(); - for(EaTeacher teacher : eaDayEvent.getTeachers()) { - eventTeachers.add(teacher.getName()); - } - - dayEventToAdd.setHosts(eventTeachers); - - Day dayToModify = tempDays.get(eaDayEvent.getDate()); - if(dayToModify.getDayevents() != null) { - dayToModify.setDayevents(new ArrayList()); - } - dayToModify.getDayevents().add(dayEventToAdd); - } + // Set recesses + List recesses = eaTimetable.getPeriods().stream() + .filter(eaPeriod -> eaPeriod.getType().equals("break")) + .map(eaPeriod -> new Span( + eaPeriod.getTime().getFrom(), + eaPeriod.getTime().getTo() + )) + .collect(Collectors.toList()); + cues.setRecesses(recesses); - toReturn.setVersion("1.0"); + // Set periods + TreeMap orderedPeriods = new TreeMap<>(); + HashMap periodMap = new HashMap<>(); + + eaTimetable.getPeriods().stream() + .filter(eaPeriod -> eaPeriod.getType().equals("default")) + .forEachOrdered(eaPeriod -> { + periodMap.put(eaPeriod.getId(), eaPeriod.getName()); + orderedPeriods.put( + eaPeriod.getName(), + new Span( + eaPeriod.getTime().getFrom(), + eaPeriod.getTime().getTo() + ) + ); + }); + cues.setPeriods(orderedPeriods); toReturn.setCues(cues); + + // Set days + TreeMap days = new TreeMap<>(); + + // School hour + eaTimetable.getSchoolEvents() + .forEach(eaSchoolEvent -> { + Long eaPeriodId = eaSchoolEvent.getTime().getPeriodId(); + String periodSequence = periodMap.get(eaPeriodId); + + String date = eaSchoolEvent.getTime().getDate(); + String specialType = eaSchoolEvent.getSpecialType(); + + // Days + Day day = days.getOrDefault(date, new Day(new TreeMap<>(), new ArrayList<>(), new ArrayList<>())); + + // Classes + List currentPeriod = day.getClasses().getOrDefault(periodSequence, new ArrayList<>()); + + currentPeriod.add( + new ClassEvent( + specialType != null && specialType.equals("substitution"), + specialType != null && specialType.equals("exam"), + specialType != null && specialType.equals("cancelled"), + eaSchoolEvent.getSubject().getName(), + eaSchoolEvent.getSubject().getName(), + eaSchoolEvent.getClassroom().getName(), + eaSchoolEvent.getTeachers().stream() + .map(EaNameElement::getName) + .collect(Collectors.toList()) + ) + ); + day.getClasses().put(periodSequence, currentPeriod); + days.put(date, day); + }); + + // Events + eaTimetable.getEvents() + .forEach(eaEvent -> { + Day eventDay = days.get(eaEvent.getDate()); + + if(eventDay == null) { + eventDay = new Day(new TreeMap<>(), new ArrayList<>(), new ArrayList<>()); + days.put(eaEvent.getDate(), eventDay); + } + + eventDay.getEvents().add( + new Event( + eaEvent.getTime().getFrom(), + eaEvent.getTime().getTo(), + eaEvent.getName(), + eaEvent.getLocation().getName(), + eaEvent.getTeachers().stream() + .map(EaNameElement::getName) + .collect(Collectors.toList()) + ) + ); + }); + + // Day events + eaTimetable.getDayEvents() + .forEach(eaDayEvent -> { + Day eventDay = days.get(eaDayEvent.getDate()); + + if(eventDay == null) { + eventDay = new Day(new TreeMap<>(), new ArrayList<>(), new ArrayList<>()); + days.put(eaDayEvent.getDate(), eventDay); + } + + eventDay.getDayevents().add( + new DayEvent( + eaDayEvent.getName(), + "", + eaDayEvent.getTeachers().stream() + .map(EaNameElement::getName) + .collect(Collectors.toList()) + ) + ); + }); toReturn.setDays(days); return toReturn; diff --git a/src/main/java/tk/thesuperlab/jea/utils/RestUtils.java b/src/main/java/tk/thesuperlab/jea/utils/RestUtils.java index f212730..0d71f28 100644 --- a/src/main/java/tk/thesuperlab/jea/utils/RestUtils.java +++ b/src/main/java/tk/thesuperlab/jea/utils/RestUtils.java @@ -5,7 +5,7 @@ import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; -import org.opentimetable.javaottf.entities.Timetable; +import org.opentimetable.ottf4j.entities.Timetable; import tk.thesuperlab.jea.entities.Evaluation; import tk.thesuperlab.jea.entities.Subject; import tk.thesuperlab.jea.parseentities.EvaluationList; diff --git a/src/test/java/tk/thesuperlab/jea/JEATest.java b/src/test/java/tk/thesuperlab/jea/JEATest.java new file mode 100644 index 0000000..396f593 --- /dev/null +++ b/src/test/java/tk/thesuperlab/jea/JEATest.java @@ -0,0 +1,39 @@ +package tk.thesuperlab.jea; + +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import tk.thesuperlab.jea.exceptions.IncorrectCredentialsException; +import tk.thesuperlab.jea.filters.WeekFilter; + +import java.io.IOException; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +class JEATest { + static JEA jea; + + @BeforeAll + static void setup() throws IncorrectCredentialsException, IOException { + jea = new JEA(System.getenv("USERNAME"), System.getenv("PASSWORD")); + } + + @Test + void getFutureEvaluations() { + assertNotNull(jea.getFutureEvaluations()); + } + + @Test + void getPastEvaluations() { + assertNotNull(jea.getPastEvaluations()); + } + + @Test + void getTimetable() { + assertNotNull(jea.getTimetable(WeekFilter.CURRENT_WEEK)); + } + + @Test + void getAllGrades() { + assertNotNull(jea.getAllGrades()); + } +} \ No newline at end of file