本文整理匯總了Java中org.osgi.framework.BundleContext類的典型用法代碼示例。如果您正苦於以下問題:Java BundleContext類的具體用法?Java BundleContext怎麽用?Java BundleContext使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
BundleContext類屬於org.osgi.framework包,在下文中一共展示了BundleContext類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: start
import org.osgi.framework.BundleContext; //導入依賴的package包/類
@Override
public void start ( final BundleContext context ) throws Exception
{
super.start ( context );
plugin = this;
this.treeRoot = new WritableSet ( DisplayRealm.getRealm ( getWorkbench ().getDisplay () ) );
this.treeRootManager = new ConnectionTreeManager ( this.treeRoot );
this.connectionManager = new ConnectionManager ( context );
for ( final Map.Entry<Class<?>, IAdapterFactory> entry : this.adaperFactories.entrySet () )
{
Platform.getAdapterManager ().registerAdapters ( entry.getValue (), entry.getKey () );
}
}
示例2: StorageImpl
import org.osgi.framework.BundleContext; //導入依賴的package包/類
public StorageImpl ( final File file, final BundleContext context, final DataFilePool pool, final ScheduledExecutorService queryExecutor, final ScheduledExecutorService updateExecutor, final ScheduledExecutorService eventExecutor ) throws Exception
{
super ( file, pool, queryExecutor, eventExecutor );
this.updateExecutor = updateExecutor;
this.heartbeatJob = updateExecutor.scheduleAtFixedRate ( new Runnable () {
@Override
public void run ()
{
heartbeat ();
}
}, 0, getHeartbeatPeriod (), TimeUnit.MILLISECONDS );
// register with OSGi
final Dictionary<String, Object> properties = new Hashtable<String, Object> ( 2 );
properties.put ( Constants.SERVICE_VENDOR, "Eclipse SCADA Project" );
properties.put ( Constants.SERVICE_PID, this.id );
this.handle = context.registerService ( StorageHistoricalItem.class, this, properties );
}
示例3: createService
import org.osgi.framework.BundleContext; //導入依賴的package包/類
@Override
protected Entry<ComponentFactory> createService ( final UserInformation userInformation, final String configurationId, final BundleContext context, final Map<String, String> parameters ) throws Exception
{
final ConfigurationDataHelper cfg = new ConfigurationDataHelper ( parameters );
final String xml = cfg.getStringNonEmpty ( "configuration" );
final XMIResource xmi = new XMIResourceImpl ();
final Map<?, ?> options = new HashMap<Object, Object> ();
final InputSource is = new InputSource ( new StringReader ( xml ) );
xmi.load ( is, options );
final Object c = EcoreUtil.getObjectByType ( xmi.getContents (), ParserPackage.Literals.COMPONENT );
if ( ! ( c instanceof Component ) )
{
throw new RuntimeException ( String.format ( "Configuration did not contain an object of type %s", Component.class.getName () ) );
}
final ComponentFactoryWrapper wrapper = new ComponentFactoryWrapper ( this.executor, (Component)c );
final Dictionary<String, ?> properties = new Hashtable<> ();
final ServiceRegistration<ComponentFactory> handle = context.registerService ( ComponentFactory.class, wrapper, properties );
return new Entry<ComponentFactory> ( configurationId, wrapper, handle );
}
示例4: AbstractOsgiHiveCommon
import org.osgi.framework.BundleContext; //導入依賴的package包/類
public AbstractOsgiHiveCommon ( final BundleContext context, final Executor executor )
{
this.context = context;
this.executor = executor;
if ( context != null )
{
this.authenticationImplementation = new TrackingAuthenticationImplementation ( context );
this.authorizationManager = new TrackingAuthorizationImplementation ( context );
this.authorizationTracker = new TrackingAuthorizationTracker ( context );
this.auditLogTracker = new TrackingAuditLogImplementation ( context );
setAuthenticationImplementation ( this.authenticationImplementation );
setAuthorizationImplementation ( this.authorizationManager );
setAuditLogService ( this.auditLogTracker );
}
}
示例5: setUp
import org.osgi.framework.BundleContext; //導入依賴的package包/類
protected void setUp() throws Exception {
final BundleContext ctx = new MockBundleContext();
prop.setProperty("foo", "bar");
platform = new AbstractOsgiPlatform() {
Properties getPlatformProperties() {
return prop;
}
public BundleContext getBundleContext() {
return ctx;
}
public void start() throws Exception {
}
public void stop() throws Exception {
}
};
}
示例6: registerToSR
import org.osgi.framework.BundleContext; //導入依賴的package包/類
private static Set<ServiceRegistration<?>> registerToSR(final AutoCloseable instance,
final BundleContext bundleContext,
final Map<ServiceInterfaceAnnotation, String /* service ref name */> serviceNamesToAnnotations) {
Set<ServiceRegistration<?>> serviceRegistrations = new HashSet<>();
for (Entry<ServiceInterfaceAnnotation, String /* service ref name */> entry : serviceNamesToAnnotations
.entrySet()) {
ServiceInterfaceAnnotation annotation = entry.getKey();
Class<?> requiredInterface = annotation.osgiRegistrationType();
if (!annotation.registerToOsgi()) {
LOG.debug("registerToOsgi for service interface {} is false - not registering", requiredInterface);
continue;
}
Preconditions.checkState(requiredInterface.isInstance(instance),
instance.getClass().getName() + " instance should implement " + requiredInterface.getName());
Dictionary<String, String> propertiesForOsgi = createProps(entry.getValue());
ServiceRegistration<?> serviceRegistration = bundleContext.registerService(requiredInterface.getName(),
instance, propertiesForOsgi);
serviceRegistrations.add(serviceRegistration);
}
return serviceRegistrations;
}
示例7: activate
import org.osgi.framework.BundleContext; //導入依賴的package包/類
@Activate
void activate(BundleContext context) {
this.context = context;
if (doReplaceSslKeysAndReboot()) {
return;
}
Runnable server = () -> {
try {
startServer();
} catch (Exception e) {
log.error("startServer failed", e);
}
};
this.thread = new Thread(server, "Start-Server");
this.thread.start();
}
示例8: getServiceReference
import org.osgi.framework.BundleContext; //導入依賴的package包/類
/**
* Returns a reference to the <em>best matching</em> service for the given classes and OSGi filter.
*
* @param bundleContext OSGi bundle context
* @param classes array of fully qualified class names
* @param filter valid OSGi filter (can be <code>null</code>)
* @return reference to the <em>best matching</em> service
*/
public static ServiceReference getServiceReference(BundleContext bundleContext, String[] classes, String filter) {
// use #getServiceReference(BundleContext, String, String) method to
// speed the service lookup process by
// giving one class as a hint to the OSGi implementation
String clazz = (ObjectUtils.isEmpty(classes) ? null : classes[0]);
return getServiceReference(bundleContext, clazz, OsgiFilterUtils.unifyFilter(classes, filter));
}
示例9: LocalMonitorQueryListener
import org.osgi.framework.BundleContext; //導入依賴的package包/類
public LocalMonitorQueryListener ( final BundleContext context, final String monitorQueryId, final ProxyMonitorQuery proxyMonitorQuery, final Lock lock ) throws InvalidSyntaxException
{
super ( proxyMonitorQuery, lock, monitorQueryId );
logger.info ( "Creating new listener - query: {}", monitorQueryId );
this.tracker = new SingleServiceTracker<MonitorQuery> ( context, FilterUtil.createClassAndPidFilter ( MonitorQuery.class, monitorQueryId ), this.queryListener );
this.tracker.open ();
}
示例10: getModuleFactoryBundleContext
import org.osgi.framework.BundleContext; //導入依賴的package包/類
@Override
public BundleContext getModuleFactoryBundleContext(final String factoryName) {
Map.Entry<ModuleFactory, BundleContext> factoryBundleContextEntry = this.currentlyRegisteredFactories
.get(factoryName);
if (factoryBundleContextEntry == null || factoryBundleContextEntry.getValue() == null) {
throw new NullPointerException("Bundle context of " + factoryName + " ModuleFactory not found.");
}
return factoryBundleContextEntry.getValue();
}
示例11: start
import org.osgi.framework.BundleContext; //導入依賴的package包/類
@Activate
private void start(BundleContext ctx) {
this.ctx = ctx;
this.statusViews.add(new OSCViewProvider<>(VIEW_FRAGMENT_ALERTS, AlertView.class, this.alertViewFactory));
this.statusViews.add(new OSCViewProvider<>(VIEW_FRAGMENT_APPLIANCE_INSTANCES,
ApplianceInstanceView.class, this.applianceInstanceViewFactory));
this.statusViews.add(new OSCViewProvider<>(VIEW_FRAGMENT_JOBS, JobView.class,
this.jobViewFactory));
this.setupViews.add(new OSCViewProvider<>(VIEW_FRAGMENT_VIRTUALIZATION_CONNECTORS,
VirtualizationConnectorView.class, this.virtualizationConnectorViewFactory));
this.setupViews.add(new OSCViewProvider<>(VIEW_FRAGMENT_SECURITY_MANAGER_CONNECTORS,
ManagerConnectorView.class, this.managerConnectorViewFactory));
this.setupViews.add(new OSCViewProvider<>(VIEW_FRAGMENT_SECURITY_FUNCTION_CATALOG,
ApplianceView.class, this.applicanceViewFactory));
this.setupViews.add(new OSCViewProvider<>(VIEW_FRAGMENT_DISTRIBUTED_APPLIANCES,
DistributedApplianceView.class, this.distributedApplicanceViewFactory));
this.manageViews.add(new OSCViewProvider<>(VIEW_FRAGMENT_USERS, UserView.class,
this.userViewFactory));
this.manageViews.add(new OSCViewProvider<>(VIEW_FRAGMENT_ALARMS, AlarmView.class,
this.alarmViewFactory));
this.manageViews.add(new OSCViewProvider<>(VIEW_FRAGMENT_PLUGIN, PluginView.class,
this.pluginViewFactory));
this.manageViews.add(new OSCViewProvider<>(VIEW_FRAGMENT_SERVER, MaintenanceView.class,
this.maintenanceViewFactory));
}
示例12: stop
import org.osgi.framework.BundleContext; //導入依賴的package包/類
@Override
public void stop ( final BundleContext context ) throws Exception
{
this.handle.unregister ();
this.factory.dispose ();
this.executor.shutdown ();
}
示例13: ConfigurationFactoryImpl
import org.osgi.framework.BundleContext; //導入依賴的package包/類
public ConfigurationFactoryImpl ()
{
final ReadWriteLock lock = new ReentrantReadWriteLock ();
this.readLock = lock.readLock ();
this.writeLock = lock.writeLock ();
final BundleContext context = FrameworkUtil.getBundle ( DataContext.class ).getBundleContext ();
this.executor = new ScheduledExportedExecutorService ( "org.eclipse.scada.da.server.exporter.rest", 1 );
this.hiveSource = new ServiceListenerHiveSource ( context, this.executor );
this.hiveSource.open ();
}
示例14: stop
import org.osgi.framework.BundleContext; //導入依賴的package包/類
@Override
public void stop ( final BundleContext context ) throws Exception
{
this.dataSourceTracker.close ();
this.masterHandle.unregister ();
this.masterFactory.dispose ();
this.masterFactory = null;
}
示例15: createService
import org.osgi.framework.BundleContext; //導入依賴的package包/類
@Override
protected Entry<BufferedDataSource> createService ( final UserInformation userInformation, final String configurationId, final BundleContext context, final Map<String, String> parameters ) throws Exception
{
logger.debug ( "Creating new change counter source: {}", configurationId );
final BufferedDataSourceImpl source = new BufferedDataSourceImpl ( this.context, this.executor, this.poolTracker, this.dataNodeTracker, configurationId, objectPool );
source.update ( parameters );
return new Entry<BufferedDataSource> ( configurationId, source );
}