diff --git a/.idea/misc.xml b/.idea/misc.xml
index 1465bc1..f0f8287 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,5 +8,5 @@
-
+
\ No newline at end of file
diff --git a/src/main/java/api/MongoGradeDataBase.java b/src/main/java/api/MongoGradeDataBase.java
index 9f52aa1..7720c01 100644
--- a/src/main/java/api/MongoGradeDataBase.java
+++ b/src/main/java/api/MongoGradeDataBase.java
@@ -245,6 +245,7 @@ public void leaveTeam() throws JSONException {
// TODO Task 3b: Implement this method
// Hint: Read the Grade API documentation for getMyTeam (link below) and refer to the above similar
// methods to help you write this code (copy-and-paste + edit as needed).
+
// https://www.postman.com/cloudy-astronaut-813156/csc207-grade-apis-demo/folder/isr2ymn/get-my-team
public Team getMyTeam() {
final OkHttpClient client = new OkHttpClient().newBuilder()
@@ -256,12 +257,26 @@ public Team getMyTeam() {
.addHeader(CONTENT_TYPE, APPLICATION_JSON)
.build();
- final Response response;
- final JSONObject responseBody;
-
- // TODO Task 3b: Implement the logic to get the team information
- // HINT: Look at the formTeam method to get an idea on how to parse the response
+ try {
+ final Response response = client.newCall(request).execute();
+ final JSONObject responseBody = new JSONObject(response.body().string());
- return null;
+ if (responseBody.getInt(STATUS_CODE) == SUCCESS_CODE) {
+ final JSONObject team = responseBody.getJSONObject("team");
+ final JSONArray membersArray = team.getJSONArray("members");
+ final String[] members = new String[membersArray.length()];
+ for (int i = 0; i < membersArray.length(); i++) {
+ members[i] = membersArray.getString(i);
+ }
+ Team newteam = new Team(team.getString(NAME), members);
+ return newteam;
+ }
+ else {
+ throw new RuntimeException(responseBody.getString(MESSAGE));
+ }
+ }
+ catch (IOException | JSONException event) {
+ throw new RuntimeException(event);
+ }
}
}
diff --git a/src/main/java/usecase/GetAverageGradeUseCase.java b/src/main/java/usecase/GetAverageGradeUseCase.java
index 25140b1..a784e34 100644
--- a/src/main/java/usecase/GetAverageGradeUseCase.java
+++ b/src/main/java/usecase/GetAverageGradeUseCase.java
@@ -4,6 +4,8 @@
import entity.Grade;
import entity.Team;
+import java.lang.reflect.Member;
+
/**
* GetAverageGradeUseCase class.
*/
@@ -25,7 +27,12 @@ public float getAverageGrade(String course) {
int count = 0;
// TODO Task 3b: Go to the MongoGradeDataBase class and implement getMyTeam.
final Team team = gradeDataBase.getMyTeam();
- // Call the API to get all the grades for the course for all your team members
+ String[] members = team.getMembers();
+ for (String member : members) {
+ gradeDataBase.getGrade(member, course).getGrade();
+ sum += gradeDataBase.getGrade(member, course).getGrade();
+ count++;
+ }
// TODO Task 3a: Complete the logic of calculating the average course grade for
// your team members. Hint: the getGrades method might be useful.