summaryrefslogtreecommitdiff
path: root/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTLoader.java')
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTLoader.java109
1 files changed, 0 insertions, 109 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTLoader.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTLoader.java
deleted file mode 100644
index 6184ebc7..00000000
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTLoader.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright 2012 by A-SIT, Secure Information Technology Center Austria
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://joinup.ec.europa.eu/software/page/eupl
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- */
-package at.asit.pdfover.gui.utils;
-
-// Imports
-import java.io.File;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.net.URLDecoder;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import at.asit.pdfover.gui.exceptions.InitializationException;
-
-/**
- *
- */
-@SuppressWarnings("nls")
-public class SWTLoader {
- /**
- * SLF4J Logger instance
- **/
- private static final Logger log = LoggerFactory.getLogger(SWTLoader.class);
-
- /**
- * Load the SWT library for this OS
- * @throws InitializationException Loading failed
- */
- public static void loadSWT() throws InitializationException {
- try {
- URLClassLoader cl = (URLClassLoader)SWTLoader.class.getClassLoader();
- Method addUrlMethod = URLClassLoader.class.getDeclaredMethod("addURL", URL.class);
- addUrlMethod.setAccessible(true);
-
- String swtLibPath = getSwtJarPath() + getSwtJarName();
- log.debug("loading " + swtLibPath);
- File swtLib = new File(swtLibPath);
- if (!swtLib.isFile())
- throw new SWTLoadFailedException("Library " + swtLibPath + " not found");
- log.debug("Adding " + swtLib + " to ClassLoader...");
- addUrlMethod.invoke(cl, swtLib.toURI().toURL());
- log.debug("Success.");
- } catch (Exception e) {
- throw new InitializationException("SWT loading failed", e);
- }
- }
-
- /**
- * Get bit-ness of the JVM
- * @return 32 or 64
- */
- public static int getArchBits() {
- String arch = System.getProperty("os.arch");
- return arch.contains("64") ? 64 : 32;
- }
-
- private static String getSwtJarName() throws SWTLoadFailedException {
- String os = System.getProperty("os.name").toLowerCase();
- if (os.contains("win"))
- os = "windows";
- else if (os.contains("mac"))
- os = "mac";
- else if (os.contains("linux") || os.contains("nix"))
- os = "linux";
- else {
- log.error("Unknown OS: " + os);
- throw new SWTLoadFailedException("Unknown OS: " + os);
- }
- return "swt-" + os + "-" + getArchBits() + ".jar";
- }
-
- private static String getSwtJarPath() {
- String path = "";
- try {
- path = URLDecoder.decode(SWTLoader.class.getProtectionDomain().getCodeSource().getLocation().getPath(), "UTF-8");
- int idx = path.lastIndexOf('/');
- idx = path.lastIndexOf('/', idx - 1);
- path = path.substring(0, idx + 1);
- } catch (UnsupportedEncodingException e) {
- // Ignore
- }
- return path + "lib-swt/";
- }
-
- private static class SWTLoadFailedException extends Exception {
- private static final long serialVersionUID = 1L;
-
- SWTLoadFailedException(String msg) {
- super(msg);
- }
- }
-
-}