diff options
Diffstat (limited to 'src/net/cbaines/suca/SotonCalendarFetcher.java')
-rw-r--r-- | src/net/cbaines/suca/SotonCalendarFetcher.java | 12 |
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 |