public GLBootstrap() throws Exception { System.setProperty("jogamp.gluegen.UseTempJarCache", "false"); log.info( "Initializing native JOGL jar dependencies for platform [{}]. Temp jar cache disabled.", PlatformPropsImpl.os_and_arch); String nativeJarName = String.format("%s-%s", NATIVES, PlatformPropsImpl.os_and_arch); String[] classpathEntries = System.getProperty(JAVA_CLASSPATH).split(System.getProperty(JAVA_SEPARATOR)); for (String jarPath : classpathEntries) { if (jarPath.contains(nativeJarName)) { if (log.isDebugEnabled()) { log.debug("Applicable platform jar: [{}]", jarPath); } JarFile jf = new JarFile(jarPath); try { Enumeration<JarEntry> jarEntries = jf.entries(); while (jarEntries.hasMoreElements()) { JarEntry je = jarEntries.nextElement(); if (!je.isDirectory() && !je.getName().contains(JAVA_META_INF)) { if (log.isDebugEnabled()) { log.debug("Mapping jar entry [{}] -> [{}]", je.getName(), jarPath); } if (log.isDebugEnabled() && platformNativeIndex.containsKey(je.getName())) { log.debug("Duplicate jar entry: [{}]", je.getName()); log.debug("Mapped at: [{}]", platformNativeIndex.get(je.getName())); log.debug("Also at: [{}]", jarPath); } platformNativeIndex.put(je.getName(), jarPath); } } } finally { closeJar(jf); } } } }
@Override public String getDeviceName(String deviceId) { return isReceptionFromAnyDevice() ? null : pairedDevices.get(deviceId); }