summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/util/News.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/util/News.java')
-rw-r--r--dozentenmodul/src/main/java/util/News.java21
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();