aboutsummaryrefslogtreecommitdiff
path: root/src/net/cbaines/suca/SotonCalendarFetcher.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/cbaines/suca/SotonCalendarFetcher.java')
-rw-r--r--src/net/cbaines/suca/SotonCalendarFetcher.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/net/cbaines/suca/SotonCalendarFetcher.java b/src/net/cbaines/suca/SotonCalendarFetcher.java
index 633b898..40a85ff 100644
--- a/src/net/cbaines/suca/SotonCalendarFetcher.java
+++ b/src/net/cbaines/suca/SotonCalendarFetcher.java
@@ -6,6 +6,8 @@ import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
+import javax.security.auth.login.LoginException;
+
import org.apache.commons.io.IOUtils;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
@@ -28,7 +30,7 @@ public class SotonCalendarFetcher {
this.password = password;
}
- public String fetchAndParseTimetable() {
+ public String fetchAndParseTimetable() throws LoginException {
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
HttpGet httpget = new HttpGet(
@@ -153,7 +155,13 @@ public class SotonCalendarFetcher {
response = httpclient.execute(httpost);
entity = response.getEntity();
- return IOUtils.toString(entity.getContent());
+ String responseString = IOUtils.toString(entity.getContent());
+
+ if (responseString.contains("Failed Login")) {
+ throw new LoginException("Login failed");
+ } else {
+ return responseString;
+ }
} catch (IllegalStateException e) {
// TODO Auto-generated catch block