All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.util.OsgiFileLookup Maven / Gradle / Ivy

There is a newer version: 15.2.0.Dev01
Show newest version
package org.infinispan.util;

import java.io.IOException;
import java.net.URL;
import java.util.Collection;

import org.infinispan.util.FileLookupFactory.DefaultFileLookup;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleReference;

public class OsgiFileLookup extends DefaultFileLookup {
   
   protected OsgiFileLookup() {
   }
   
   @Override
   protected Collection getAsURLsFromClassLoader(String filename, ClassLoader userClassLoader) throws IOException {
      Collection urls = super.getAsURLsFromClassLoader(filename, userClassLoader);
      // scan osgi bundles
      BundleContext bc = ((BundleReference) FileLookup.class.getClassLoader()).getBundle().getBundleContext();
      for (Bundle bundle : bc.getBundles()) {
         urls.add(bundle.getResource(filename));
      }
      return urls;
   }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy