diff options
Diffstat (limited to 'dozentenmodul/src/main/java/util/News.java')
| -rw-r--r-- | dozentenmodul/src/main/java/util/News.java | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/dozentenmodul/src/main/java/util/News.java b/dozentenmodul/src/main/java/util/News.java index 38afe047..f37f7146 100644 --- a/dozentenmodul/src/main/java/util/News.java +++ b/dozentenmodul/src/main/java/util/News.java @@ -137,7 +137,7 @@ public class News { // Document representing the XML Document doc = null; - // URL to news api + // URL to news API URL url = null; try { url = new URL("http://" + SessionData.session.getServerAdress() + "/slx-admin/api.php?do=news"); @@ -159,11 +159,23 @@ public class News { } // set timeout for URLConnection - URLConnection urlCon = url.openConnection(); + URLConnection urlCon = null; + try { + urlCon = url.openConnection(); + // 5 seconds timeout for connection + urlCon.setConnectTimeout(5000); + // 10 seconds timeout for reading the stream + urlCon.setReadTimeout(10000); + } catch (IOException e1) { + e1.printStackTrace(); + JOptionPane.showMessageDialog(null, + "Satellite antwortete auf die Anfrage der News-XML nicht!", + "Fehler", JOptionPane.ERROR_MESSAGE); + } InputStream is = null; try { - is = url.openStream(); + is = urlCon.getInputStream(); } catch (IOException e1) { e1.printStackTrace(); JOptionPane.showMessageDialog(null, @@ -221,7 +233,8 @@ public class News { if (current.getNodeType() == Node.ELEMENT_NODE) { if (current.getNodeName().equals("headline") && current.getFirstChild().getNodeType() == Node.TEXT_NODE) headlineNode = current.getFirstChild(); - if (current.getNodeName().equals("info") && + // FIXME: temporary workaround for possibly different slx-admin versions! + if ((current.getNodeName().equals("info") || current.getNodeName().equals("content")) && current.getFirstChild().getNodeType() == Node.TEXT_NODE) contentNode = current.getFirstChild(); if (current.getNodeName().equals("date") && current.getFirstChild().getNodeType() == Node.TEXT_NODE) dateNode = current.getFirstChild(); |
