summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2017-03-05 14:42:54 -0800
committerJesse Morgan <jesse@jesterpm.net>2017-03-05 14:42:54 -0800
commitfa7d0ec7d486dccb55c50ba635a638a855a513c1 (patch)
treef290f6e7e72cafd82cf9c666fccc591b6e8fbebd
parent85a719ce36962c780a9febb98dc088bfce138acb (diff)
Fail the page load if progress is not reported
-rw-r--r--src/main/java/com/p4square/grow/ccb/CCBProgressReporter.java9
-rw-r--r--src/main/java/com/p4square/grow/frontend/AssessmentResultsPage.java4
-rw-r--r--src/main/java/com/p4square/grow/frontend/ChapterCompletePage.java3
-rw-r--r--src/main/java/com/p4square/grow/frontend/ProgressReporter.java5
4 files changed, 14 insertions, 7 deletions
diff --git a/src/main/java/com/p4square/grow/ccb/CCBProgressReporter.java b/src/main/java/com/p4square/grow/ccb/CCBProgressReporter.java
index d2826eb..6eb9c15 100644
--- a/src/main/java/com/p4square/grow/ccb/CCBProgressReporter.java
+++ b/src/main/java/com/p4square/grow/ccb/CCBProgressReporter.java
@@ -34,7 +34,8 @@ public class CCBProgressReporter implements ProgressReporter {
}
@Override
- public void reportAssessmentComplete(final User user, final String level, final Date date, final String results) {
+ public void reportAssessmentComplete(final User user, final String level, final Date date, final String results)
+ throws IOException {
if (!(user instanceof CCBUser)) {
throw new IllegalArgumentException("Expected CCBUser but got " + user.getClass().getCanonicalName());
}
@@ -44,7 +45,7 @@ public class CCBProgressReporter implements ProgressReporter {
}
@Override
- public void reportChapterComplete(final User user, final String chapter, final Date date) {
+ public void reportChapterComplete(final User user, final String chapter, final Date date) throws IOException {
if (!(user instanceof CCBUser)) {
throw new IllegalArgumentException("Expected CCBUser but got " + user.getClass().getCanonicalName());
}
@@ -66,7 +67,8 @@ public class CCBProgressReporter implements ProgressReporter {
updateLevelAndDate(ccbuser, GROW_LEVEL, chapter, date);
}
- private void updateLevelAndDate(final CCBUser user, final String field, final String level, final Date date) {
+ private void updateLevelAndDate(final CCBUser user, final String field, final String level, final Date date)
+ throws IOException {
boolean modified = false;
final UpdateIndividualProfileRequest req = new UpdateIndividualProfileRequest()
@@ -99,6 +101,7 @@ public class CCBProgressReporter implements ProgressReporter {
+ ", field " + field
+ ", level " + level
+ ", date " + date.toString());
+ throw e;
}
}
}
diff --git a/src/main/java/com/p4square/grow/frontend/AssessmentResultsPage.java b/src/main/java/com/p4square/grow/frontend/AssessmentResultsPage.java
index f1c924b..9e9d48f 100644
--- a/src/main/java/com/p4square/grow/frontend/AssessmentResultsPage.java
+++ b/src/main/java/com/p4square/grow/frontend/AssessmentResultsPage.java
@@ -4,6 +4,7 @@
package com.p4square.grow.frontend;
+import java.io.IOException;
import java.util.Date;
import java.util.Map;
@@ -104,7 +105,7 @@ public class AssessmentResultsPage extends FreeMarkerPageResource {
}
}
- private void publishScoreInF1(Map results) {
+ private void publishScoreInF1(Map results) throws IOException {
final ProgressReporter reporter = mGrowFrontend.getThirdPartyIntegrationFactory().getProgressReporter();
try {
@@ -117,6 +118,7 @@ public class AssessmentResultsPage extends FreeMarkerPageResource {
} catch (JsonProcessingException e) {
LOG.error("Failed to generate json " + e.getMessage(), e);
+ throw new IOException(e);
}
}
diff --git a/src/main/java/com/p4square/grow/frontend/ChapterCompletePage.java b/src/main/java/com/p4square/grow/frontend/ChapterCompletePage.java
index 35abc43..7bda39c 100644
--- a/src/main/java/com/p4square/grow/frontend/ChapterCompletePage.java
+++ b/src/main/java/com/p4square/grow/frontend/ChapterCompletePage.java
@@ -4,6 +4,7 @@
package com.p4square.grow.frontend;
+import java.io.IOException;
import java.util.Date;
import java.util.Map;
@@ -159,7 +160,7 @@ public class ChapterCompletePage extends FreeMarkerPageResource {
}
}
- private void assignAttribute() {
+ private void assignAttribute() throws IOException {
final ProgressReporter reporter = mGrowFrontend.getThirdPartyIntegrationFactory().getProgressReporter();
final User user = getRequest().getClientInfo().getUser();
diff --git a/src/main/java/com/p4square/grow/frontend/ProgressReporter.java b/src/main/java/com/p4square/grow/frontend/ProgressReporter.java
index 2f36832..4662024 100644
--- a/src/main/java/com/p4square/grow/frontend/ProgressReporter.java
+++ b/src/main/java/com/p4square/grow/frontend/ProgressReporter.java
@@ -2,6 +2,7 @@ package com.p4square.grow.frontend;
import org.restlet.security.User;
+import java.io.IOException;
import java.util.Date;
/**
@@ -17,7 +18,7 @@ public interface ProgressReporter {
* @param date The completion date.
* @param results Result information (e.g. json of the results).
*/
- void reportAssessmentComplete(User user, String level, Date date, String results);
+ void reportAssessmentComplete(User user, String level, Date date, String results) throws IOException;
/**
* Report that the User completed the chapter.
@@ -26,5 +27,5 @@ public interface ProgressReporter {
* @param chapter The chapter completed.
* @param date The completion date.
*/
- void reportChapterComplete(User user, String chapter, Date date);
+ void reportChapterComplete(User user, String chapter, Date date) throws IOException;
}