summaryrefslogtreecommitdiff
path: root/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/ExternalDisplaySignRequestHandler.java
diff options
context:
space:
mode:
authorclemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2008-11-05 17:22:51 +0000
committerclemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2008-11-05 17:22:51 +0000
commit8171050e1b21733a5e55ce97ebc9134f6afb1abb (patch)
tree974fbcc2723e367339e67db86e8e736aad9990b8 /BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/ExternalDisplaySignRequestHandler.java
parent2cf6fcb31e85b0e3b367121219932ec86b205da8 (diff)
downloadmocca-8171050e1b21733a5e55ce97ebc9134f6afb1abb.tar.gz
mocca-8171050e1b21733a5e55ce97ebc9134f6afb1abb.tar.bz2
mocca-8171050e1b21733a5e55ce97ebc9134f6afb1abb.zip
java.awt.Desktop BROWSE for help and hashdatadisplay
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@152 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
Diffstat (limited to 'BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/ExternalDisplaySignRequestHandler.java')
-rw-r--r--BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/ExternalDisplaySignRequestHandler.java27
1 files changed, 20 insertions, 7 deletions
diff --git a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/ExternalDisplaySignRequestHandler.java b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/ExternalDisplaySignRequestHandler.java
index 2c9fde71..e4567a6c 100644
--- a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/ExternalDisplaySignRequestHandler.java
+++ b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/ExternalDisplaySignRequestHandler.java
@@ -17,7 +17,6 @@
package at.gv.egiz.bku.online.applet;
-import java.applet.AppletContext;
import java.net.URL;
import java.util.List;
@@ -26,28 +25,42 @@ import org.apache.commons.logging.LogFactory;
import at.gv.egiz.bku.smccstal.SignRequestHandler;
import at.gv.egiz.stal.signedinfo.ReferenceType;
+import java.awt.Desktop;
/**
*
- * @author clemens
+ * @author Clemens Orthacker <clemens.orthacker@iaik.tugraz.at>
*/
public class ExternalDisplaySignRequestHandler extends SignRequestHandler {
private static final Log log = LogFactory.getLog(ExternalDisplaySignRequestHandler.class);
- AppletContext ctx;
- URL hashDataURL;
+// AppletContext ctx;
+ protected URL hashDataURL;
+ protected Desktop desktop;
- public ExternalDisplaySignRequestHandler(AppletContext ctx, URL hashDataURL) {
- this.ctx = ctx;
+ public ExternalDisplaySignRequestHandler(URL hashDataURL) {
+// this.ctx = ctx;
this.hashDataURL = hashDataURL;
+ if (Desktop.isDesktopSupported()) {
+ desktop = Desktop.getDesktop();
+ }
}
@Override
public void displayHashDataInputs(List<ReferenceType> signedReferences) throws Exception {
//TODO pass reference Id's to servlet (TODO servlet)
log.debug("displaying hashdata inputs at " + hashDataURL);
- ctx.showDocument(hashDataURL, "_blank");
+// ctx.showDocument(hashDataURL, "_blank");
+ if (desktop == null) {
+ log.error("Failed to open default browser: Desktop API not available (libgnome installed?)");
+ } else {
+ if (!desktop.isSupported(Desktop.Action.BROWSE)) {
+ log.error("Failed to open default browser: The system provides the Desktop API, but does not support the BROWSE action");
+ } else {
+ Desktop.getDesktop().browse(hashDataURL.toURI());
+ }
+ }
}
}