summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2015-08-03 12:38:31 +0200
committerSimon Rettberg2015-08-03 12:38:31 +0200
commit155fb4999ce6413adf63b956d95811a2cf144fc3 (patch)
tree1438217a0c75e3ac0f8b42e3569fc46598508b4d
parent[client] ...everywhere... (diff)
downloadtutor-module-155fb4999ce6413adf63b956d95811a2cf144fc3.tar.gz
tutor-module-155fb4999ce6413adf63b956d95811a2cf144fc3.tar.xz
tutor-module-155fb4999ce6413adf63b956d95811a2cf144fc3.zip
[client] Cleaned up "OpenLinks" class
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/util/OpenLinks.java71
1 files changed, 22 insertions, 49 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/util/OpenLinks.java b/dozentenmodul/src/main/java/org/openslx/dozmod/util/OpenLinks.java
index 4c477f3d..3263ee70 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/OpenLinks.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/util/OpenLinks.java
@@ -3,9 +3,6 @@ package org.openslx.dozmod.util;
import java.awt.Desktop;
import java.net.URI;
import java.net.URISyntaxException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
import org.apache.log4j.Logger;
@@ -16,62 +13,38 @@ public class OpenLinks {
*/
private final static Logger LOGGER = Logger.getLogger(OpenLinks.class);
- /**
- * Map containing the links
- */
- @SuppressWarnings("serial")
- private static Map<String, String> links = Collections.unmodifiableMap(new HashMap<String, String>(){{
- put("faq", "http://bwlehrpool.hs-offenburg.de");
- put("otrs", "http://bwlehrpool.hs-offenburg.de");
- put("vmware", "https://my.vmware.com/de/web/vmware/free#desktop_end_user_computing/vmware_player/6_0");
- put("intro", "http://www.hs-offenburg.de/fileadmin/Einrichtungen/hrz/Projekte/bwLehrpool/3_bwLehrpool_-_Image_einbinden_und_starten.pdf");
- // TODO use enum not map
- }});
+ private static final Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null;
- /**
- * Static URIs
- */
+ enum Link {
+ FAQ("http://bwlehrpool.hs-offenburg.de"),
+ VMWARE("https://my.vmware.com/de/web/vmware/free#desktop_end_user_computing/vmware_player/6_0"),
+ INTRO(
+ "http://www.hs-offenburg.de/fileadmin/Einrichtungen/hrz/Projekte/bwLehrpool/3_bwLehrpool_-_Image_einbinden_und_starten.pdf");
+
+ // TODO use enum not map
+ private final URI uri;
- private static Map<String, URI> uris;
- static {
- // temp map
- Map<String, URI> tmpUris = new HashMap<String, URI>();
- for (String key : links.keySet()) {
- URI tmp;
+ private Link(String uri) {
+ URI tmp;
try {
- tmp = new URI(links.get(key));
+ tmp = new URI(uri);
} catch (URISyntaxException e) {
- // should never happen!
- LOGGER.error("Bad URI syntax of '" + key + "', see trace: ", e);
+ LOGGER.error("Hard-Coded URI contains syntax error!", e);
tmp = null;
}
- tmpUris.put(key, tmp);
+ this.uri = tmp;
}
- // check sizes of maps to be equal
- if (links.size() != tmpUris.size()) {
- LOGGER.error("Links and URIs have different sizes, this should not happen. Contact a developper.");
- }
-
- // all good, save it to the actual 'uris' map
- uris = Collections.unmodifiableMap(tmpUris);
}
-
- public static void openWebpage(String key) {
- // first check if we have the link for the request key
- if (!uris.containsKey(key)) {
- LOGGER.error("OpenLinks has to link to '" + key + "'. Check if the given key actually exists.");
+ public static void openWebpage(Link location) {
+
+ if (desktop == null || !desktop.isSupported(Desktop.Action.BROWSE))
return;
+ try {
+ desktop.browse(location.uri);
+ } catch (Exception e) {
+ LOGGER.error("Got exception in openWebpage: ", e);
}
- Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop()
- : null;
- if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) {
- try {
- desktop.browse(uris.get(key));
- } catch (Exception e) {
- LOGGER.debug("Got exception in openWebpage: ", e);
- }
- }
- }// end openWebpage
+ }
}