diff --git a/src/main/java/ley/untis/UntisClient.java b/src/main/java/ley/untis/UntisClient.java index 93ad002..027c92c 100644 --- a/src/main/java/ley/untis/UntisClient.java +++ b/src/main/java/ley/untis/UntisClient.java @@ -1,9 +1,7 @@ package ley.untis; import com.googlecode.jsonrpc4j.JsonRpcHttpClient; -import ley.untis.data.AuthParams; -import ley.untis.data.AuthResponse; -import ley.untis.data.SubjectResponse; +import ley.untis.data.*; import ley.untis.exception.APIRequestException; import java.net.URL; @@ -69,7 +67,7 @@ public class UntisClient { * @return an ArrayList of subjects * @throws APIRequestException */ - public SubjectResponse getSubjects() throws APIRequestException{ + public SubjectResponse getSubjects() throws APIRequestException { try { return client.invoke("getSubjects", new Object[0], SubjectResponse.class); } catch (Throwable e) { @@ -77,5 +75,72 @@ public class UntisClient { } } + /** + * Get list of teachers + * @return an ArrayList of teachers + * @throws APIRequestException + */ + public TeacherResponse getTeachers() throws APIRequestException { + try { + return client.invoke("getTeachers", new Object[0], TeacherResponse.class); + } catch (Throwable e) { + throw new APIRequestException(e); + } + } + + /** + * Get list of Klassen (base class) for schoolyear + * @param schoolyearId Id of the schoolyear + * @return an ArrayList of Klassen + * @throws APIRequestException + */ + public KlasseResponse getKlassen(String schoolyearId) throws APIRequestException { + try { + return client.invoke("getKlassen", new KlasseParams(schoolyearId), KlasseResponse.class); + } catch (Throwable e) { + throw new APIRequestException(e); + } + } + + /** + * Get list of Klassen (base class) for current schoolyear + * @return an ArrayList of Klassen + * @throws APIRequestException + */ + public KlasseResponse getKlassen() throws APIRequestException { + try { + return client.invoke("getKlassen", new Object[0], KlasseResponse.class); + } catch (Throwable e) { + throw new APIRequestException(e); + } + } + + /** + * Get list of students + * @return an ArrayList of students + * @throws APIRequestException + */ + public StudentResponse getStudents() throws APIRequestException { + try { + return client.invoke("getStudents", new Object[0], StudentResponse.class); + } catch (Throwable e) { + throw new APIRequestException(e); + } + } + + /** + * Get list of rooms + * @return an ArrayList of rooms + * @throws APIRequestException + */ + public RoomResponse getRooms() throws APIRequestException { + try { + return client.invoke("getRooms", new Object[0], RoomResponse.class); + } catch (Throwable e) + { + throw new APIRequestException(e); + } + } + } diff --git a/src/main/java/ley/untis/data/KlasseParams.java b/src/main/java/ley/untis/data/KlasseParams.java new file mode 100644 index 0000000..45f47a7 --- /dev/null +++ b/src/main/java/ley/untis/data/KlasseParams.java @@ -0,0 +1,10 @@ +package ley.untis.data; + +public class KlasseParams { + + public String schoolyearId; + + public KlasseParams(String schoolyearId) { + this.schoolyearId = schoolyearId; + } +} diff --git a/src/main/java/ley/untis/data/KlasseResponse.java b/src/main/java/ley/untis/data/KlasseResponse.java new file mode 100644 index 0000000..1ec3122 --- /dev/null +++ b/src/main/java/ley/untis/data/KlasseResponse.java @@ -0,0 +1,17 @@ +package ley.untis.data; + +import java.util.ArrayList; + +public class KlasseResponse extends ArrayList { + + public static class Klasse { + public int id; + public String name; + public String longName; + public String backColor; + public String longColor; + + + } + +} diff --git a/src/main/java/ley/untis/data/RoomResponse.java b/src/main/java/ley/untis/data/RoomResponse.java new file mode 100644 index 0000000..623056c --- /dev/null +++ b/src/main/java/ley/untis/data/RoomResponse.java @@ -0,0 +1,15 @@ +package ley.untis.data; + +import java.util.ArrayList; + +public class RoomResponse extends ArrayList { + + public static class Room { + public int id; + public String name; + public String longName; + public String foreColor; + public String backColor; + } + +} diff --git a/src/main/java/ley/untis/data/StudentResponse.java b/src/main/java/ley/untis/data/StudentResponse.java new file mode 100644 index 0000000..7a9d1b7 --- /dev/null +++ b/src/main/java/ley/untis/data/StudentResponse.java @@ -0,0 +1,16 @@ +package ley.untis.data; + +import java.util.ArrayList; + +public class StudentResponse extends ArrayList { + + public static class Student { + public int id; + public String key; + public String name; + public String foreName; + public String longName; + public String gender; + } + +} diff --git a/src/main/java/ley/untis/data/TeacherResponse.java b/src/main/java/ley/untis/data/TeacherResponse.java new file mode 100644 index 0000000..785c101 --- /dev/null +++ b/src/main/java/ley/untis/data/TeacherResponse.java @@ -0,0 +1,18 @@ +package ley.untis.data; + +import java.util.ArrayList; + +public class TeacherResponse extends ArrayList { + + public static class Teacher { + + public int id; + public String name; + public String longName; + public String foreName; + public String foreColor; + public String backColor; + + } + +}