@SuppressWarnings("rawtypes") @Override public ServiceRegistration registerService(String clazz, Object service, Dictionary properties) { return registerService(new String[] { clazz }, service, properties); }
@Override public Bundle[] getBundles(String symbolicName, String versionRange) { return new Bundle[] { osgi.getBundle(symbolicName) }; }
public void fireFrameworkStarted() throws BundleException { if (osgi.getSystemBundle() == null) { SystemBundleFile file; try { file = new SystemBundleFile(osgi.getWorkingDir()); } catch (IOException e) { throw new BundleException("Cannot create system bundle file", e); } osgi.setSystemBundle(new SystemBundle(osgi, file, loader)); } osgi.fireFrameworkEvent(new FrameworkEvent(FrameworkEvent.STARTED, osgi.getSystemBundle(), null)); }
@Override public Bundle installBundle(String location) throws BundleException { File file = new File(location); try { BundleFile bf = file.isDirectory() ? new DirectoryBundleFile(file) : new JarBundleFile(file); BundleImpl b = new BundleImpl(bundle.osgi, bf, bundle.loader); if (b.getSymbolicName() != null) { bundle.osgi.install(b); } return b; } catch (IOException e) { throw new BundleException("Failed to install bundle at " + location, e); } }
@Override public void installBundle(BundleFile bundleFile) throws BundleException { osgi.install(new BundleImpl(osgi, bundleFile, loader.getLoader())); }
@Override @Deprecated public void deployFolder(File folder, ClassLoader loader) throws Exception { DirectoryBundleFile bf = new DirectoryBundleFile(folder); BundleImpl bundle = new BundleImpl(osgi, bf, loader); osgi.install(bundle); }
public synchronized void install(BundleImpl bundle) throws BundleException { if (bundle.getState() == Bundle.UNINSTALLED) { BundleRegistration reg = bundles.get(bundle.getSymbolicName()); if (reg == null) { register(new BundleRegistration(bundle)); } else { register(reg); } } }
@Override public Bundle getBundle(long id) { return bundle.osgi.registry.getBundle(id); }
public synchronized void uninstall(BundleImpl bundle) throws BundleException { if (bundle.getState() != Bundle.UNINSTALLED) { BundleRegistration reg = bundles.get(bundle.getSymbolicName()); if (reg != null) { unregister(reg); } } }
public DirectoryBundleFile(File file, Manifest mf) throws IOException { this.file = file; this.files = findFiles(file); this.mf = mf == null ? findManifest() : mf; }
@Override public URL getEntry(String name) { return file.getEntry(name); }
@Override public String toString() { return getLocation(); }
@Override public void addBundleListener(BundleListener listener) { bundle.osgi.addBundleListener(listener); }
@Override public void addServiceListener(ServiceListener listener) { bundle.osgi.addServiceListener(listener); }
public String getProperty(String key, String defvalue) { String val = getProperty(key); if (val == null) { val = defvalue; } return val; }
@Override public String toString() { return getLocation(); }
@Override public void removeFrameworkListener(FrameworkListener listener) { bundle.osgi.removeFrameworkListener(listener); }
@Override public Enumeration<String> getEntryPaths(String path) { return file.getEntryPaths(path); }