libbluray | branch: master | hpi1 <[email protected]> | Mon Jan 20 14:05:29 2014 +0200| [96d9d5d1008f297ece0e1d44b3444a656235d5c1] | committer: hpi1
BDJXletContext: added helpers to get current Xlet resources > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=96d9d5d1008f297ece0e1d44b3444a656235d5c1 --- src/libbluray/bdj/java/java/awt/BDToolkitBase.java | 16 +++------- .../bdj/java/org/videolan/BDJXletContext.java | 33 ++++++++++++++++++++ 2 files changed, 37 insertions(+), 12 deletions(-) diff --git a/src/libbluray/bdj/java/java/awt/BDToolkitBase.java b/src/libbluray/bdj/java/java/awt/BDToolkitBase.java index 995df97..4998343 100644 --- a/src/libbluray/bdj/java/java/awt/BDToolkitBase.java +++ b/src/libbluray/bdj/java/java/awt/BDToolkitBase.java @@ -132,18 +132,10 @@ abstract class BDToolkitBase extends Toolkit { public Image createImage(String filename) { if (!new File(filename).exists()) { - BDJXletContext ctx = BDJXletContext.getCurrentContext(); - if (ctx != null) { - ClassLoader cldr = (ClassLoader)ctx.getClassLoader(); - URL url = cldr.getResource(filename); - if (url != null) { - logger.warning("" + filename + " translated to " + url); - return createImage(url); - } else { - logger.error("ClassLoader failed to translate " + filename); - } - } else { - logger.error("createImage(" + filename + "): no XletContext available!\n" + logger.dumpStack()); + URL url = BDJXletContext.getCurrentResource(filename); + if (url != null) { + logger.warning("" + filename + " translated to " + url); + return createImage(url); } } diff --git a/src/libbluray/bdj/java/org/videolan/BDJXletContext.java b/src/libbluray/bdj/java/org/videolan/BDJXletContext.java index 09aaf43..9759276 100644 --- a/src/libbluray/bdj/java/org/videolan/BDJXletContext.java +++ b/src/libbluray/bdj/java/org/videolan/BDJXletContext.java @@ -21,6 +21,7 @@ package org.videolan; import java.awt.Container; import java.awt.EventQueue; +import java.net.URL; import java.util.LinkedList; import java.security.AccessController; import java.security.PrivilegedAction; @@ -97,6 +98,38 @@ public class BDJXletContext implements javax.tv.xlet.XletContext, javax.microedi return loader; } + public static ClassLoader getCurrentClassLoader() { + BDJXletContext ctx = BDJXletContext.getCurrentContext(); + if (ctx == null) { + logger.error("getCurrentClassLoader(): no context: " + Logger.dumpStack()); + return null; + } + + ClassLoader cldr = (ClassLoader)ctx.getClassLoader(); + if (cldr == null) { + logger.error("getCurrentClassLoader(): no class loader: " + Logger.dumpStack()); + return null; + } + + return cldr; + } + + public static URL getCurrentResource(String path) + { + ClassLoader cldr = (ClassLoader)BDJXletContext.getCurrentClassLoader(); + if (cldr == null) { + return null; + } + + URL url = cldr.getResource(path); + if (url == null) { + logger.error("getCurrentResource(): " + path + " not found: " + Logger.dumpStack()); + return null; + } + + return url; + } + protected AppProxy getAppProxy() { return AppsDatabase.getAppsDatabase().getAppProxy(appid); } _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
