本文整理汇总了Java中org.osgi.framework.launch.Framework.adapt方法的典型用法代码示例。如果您正苦于以下问题:Java Framework.adapt方法的具体用法?Java Framework.adapt怎么用?Java Framework.adapt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.osgi.framework.launch.Framework
的用法示例。
在下文中一共展示了Framework.adapt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: startOSGiContainer
import org.osgi.framework.launch.Framework; //导入方法依赖的package包/类
private Framework startOSGiContainer(final String[] bundleLocations,
final String tempDirPath) throws BundleException {
FrameworkFactory frameworkFactory = ServiceLoader
.load(FrameworkFactory.class).iterator().next();
Map<String, String> config = new HashMap<String, String>();
config.put("org.osgi.framework.system.packages", "");
config.put("osgi.configuration.area", tempDirPath);
config.put("osgi.baseConfiguration.area", tempDirPath);
config.put("osgi.sharedConfiguration.area", tempDirPath);
config.put("osgi.instance.area", tempDirPath);
config.put("osgi.user.area", tempDirPath);
config.put("osgi.hook.configurators.exclude",
"org.eclipse.core.runtime.internal.adaptor.EclipseLogHook");
Framework framework = frameworkFactory.newFramework(config);
framework.init();
BundleContext systemBundleContext = framework.getBundleContext();
org.apache.maven.artifact.Artifact equinoxCompatibilityStateArtifact =
pluginArtifactMap.get("org.eclipse.tycho:org.eclipse.osgi.compatibility.state");
URI compatibilityBundleURI = equinoxCompatibilityStateArtifact.getFile().toURI();
systemBundleContext.installBundle("reference:" + compatibilityBundleURI.toString());
framework.start();
for (String bundleLocation : bundleLocations) {
try {
systemBundleContext.installBundle(bundleLocation);
} catch (BundleException e) {
getLog().warn("Could not install bundle " + bundleLocation, e);
}
}
FrameworkWiring frameworkWiring = framework
.adapt(FrameworkWiring.class);
frameworkWiring.resolveBundles(null);
return framework;
}