Java Code Examples for org.osgi.framework.BundleEvent#getType()
The following examples show how to use
org.osgi.framework.BundleEvent#getType() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SCR.java From knopflerfish.org with BSD 3-Clause "New" or "Revised" License | 6 votes |
/** * Process bundle components when it starts. */ public void bundleChanged(BundleEvent event) { postponeCheckin(); try { final Bundle bundle = event.getBundle(); switch (event.getType()) { case BundleEvent.LAZY_ACTIVATION: lazy.add(bundle); processBundle(bundle); break; case BundleEvent.STARTED: if (!lazy.remove(bundle)) { processBundle(bundle); } break; case BundleEvent.STOPPING: lazy.remove(bundle); removeBundle(bundle, ComponentConstants.DEACTIVATION_REASON_BUNDLE_STOPPED); break; } } finally { postponeCheckout(); } }
Example 2
Source File: ManagementPermissionsAdder.java From carbon-identity with Apache License 2.0 | 6 votes |
@Override public void bundleChanged(BundleEvent event) { Bundle bundle = event.getBundle(); try { PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); carbonContext.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME); carbonContext.setTenantId(MultitenantConstants.SUPER_TENANT_ID); if (event.getType() == BundleEvent.STARTED) { addUIPermissionFromBundle(bundle); } } catch (Exception e) { log.error("Error occured when processing component xml in bundle " + bundle.getSymbolicName(), e); } }
Example 3
Source File: ManagementPermissionsAdder.java From carbon-identity-framework with Apache License 2.0 | 6 votes |
@Override public void bundleChanged(BundleEvent event) { Bundle bundle = event.getBundle(); try { PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); carbonContext.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME); carbonContext.setTenantId(MultitenantConstants.SUPER_TENANT_ID); if (event.getType() == BundleEvent.STARTED) { addUIPermissionFromBundle(bundle); } } catch (Exception e) { log.error("Error occured when processing component xml in bundle " + bundle.getSymbolicName(), e); } }
Example 4
Source File: Spin.java From knopflerfish.org with BSD 3-Clause "New" or "Revised" License | 6 votes |
public void bundleChanged(BundleEvent ev) { Long id = new Long(ev.getBundle().getBundleId()); synchronized(bundles) { BX bx = bundles.get(id); switch(ev.getType()) { case BundleEvent.INSTALLED: if(bx == null) { bx = new BX(this, ev.getBundle()); bundles.put(id, bx); bxNeedRecalc = true; } break; case BundleEvent.UNINSTALLED: if(bx != null) { bundles.remove(id); bxNeedRecalc = true; } break; } } repaint(); }
Example 5
Source File: LogConfigImpl.java From knopflerfish.org with BSD 3-Clause "New" or "Revised" License | 6 votes |
@Override public void bundleChanged(BundleEvent event) { switch (event.getType()) { case BundleEvent.INSTALLED: // Fall through case BundleEvent.UPDATED: computeBidFilter(bidFilters, event.getBundle()); break; case BundleEvent.UNINSTALLED: final Long key = new Long(event.getBundle().getBundleId()); synchronized (bidFilters) { bidFilters.remove(key); } break; default: } }
Example 6
Source File: AutomationResourceBundlesEventQueue.java From openhab-core with Eclipse Public License 2.0 | 6 votes |
/** * Depending on the action committed against the bundle supplier of automation resources, this method performs the * appropriate action - calls for it's host bundles: * <ul> * {@link AbstractResourceBundleProvider#processAutomationProviderUninstalled(Bundle)} method * </ul> * or * <ul> * {@link AbstractResourceBundleProvider#processAutomationProvider(Bundle)} method * </ul> * * @param event for a bundle tracked by the {@code BundleTracker}. It has been for adding, modifying or removing the * bundle. */ protected void processBundleChanged(BundleEvent event) { Bundle bundle = event.getBundle(); if (HostFragmentMappingUtil.isFragmentBundle(bundle)) { for (Bundle host : HostFragmentMappingUtil.returnHostBundles(bundle)) { provider.processAutomationProvider(host); } } else { switch (event.getType()) { case BundleEvent.UNINSTALLED: provider.processAutomationProviderUninstalled(bundle); break; default: provider.processAutomationProvider(bundle); } } }
Example 7
Source File: SecurityBundleListner.java From ACDD with MIT License | 5 votes |
public void bundleChanged(BundleEvent bundleEvent) { switch (bundleEvent.getType()) { case BundleEvent.INSTALLED: case BundleEvent.UPDATED: Message obtain = Message.obtain(); obtain.obj = bundleEvent.getBundle().getLocation(); this.mSecurityCheckHandler.sendMessage(obtain); return; default: return; } }
Example 8
Source File: ConfigurationAdminFactory.java From knopflerfish.org with BSD 3-Clause "New" or "Revised" License | 5 votes |
@Override public void bundleChanged(BundleEvent event) { if (event.getType() == BundleEvent.UNINSTALLED) { final String uninstalledBundleLocation = event.getBundle().getLocation(); existingBundleLocations.remove(uninstalledBundleLocation); findAndUnbindConfigurationsDynamicallyBoundTo(uninstalledBundleLocation); } else if (event.getType() == BundleEvent.INSTALLED) { final String installedBundleLocation = event.getBundle().getLocation(); existingBundleLocations.put(installedBundleLocation, installedBundleLocation); } }
Example 9
Source File: LogFrameworkListener.java From knopflerfish.org with BSD 3-Clause "New" or "Revised" License | 5 votes |
/** * The bundle event callback method inserts all bundle events into the * log. Events are all assigned the log level info. * * @param be * the bundle event that has occured. */ public void bundleChanged(BundleEvent be) { String msg = null; switch (be.getType()) { case BundleEvent.INSTALLED: msg = "BundleEvent INSTALLED"; break; case BundleEvent.STARTED: msg = "BundleEvent STARTED"; break; case BundleEvent.STOPPED: msg = "BundleEvent STOPPED"; break; case BundleEvent.UNINSTALLED: msg = "BundleEvent UNINSTALLED"; break; case BundleEvent.UPDATED: msg = "BundleEvent UPDATED"; break; case BundleEvent.RESOLVED: msg = "BundleEvent RESOLVED"; break; case BundleEvent.UNRESOLVED: msg = "BundleEvent UNRESOLVED"; break; /* case BundleEvent.STARTING: msg = "BundleEvent STARTING"; break; case BundleEvent.STOPPING: msg = "BundleEvent STOPPING"; break; */ } lrsf.log(new LogEntryImpl(be.getBundle(), LogService.LOG_INFO, msg)); }
Example 10
Source File: SiddhiExtensionLoader.java From siddhi with Apache License 2.0 | 5 votes |
@Override public void bundleChanged(BundleEvent bundleEvent) { if (bundleEvent.getType() == BundleEvent.STARTED) { addExtensions(bundleEvent.getBundle()); } else { removeExtensions(bundleEvent.getBundle()); } }
Example 11
Source File: PreferencesServiceFactory.java From knopflerfish.org with BSD 3-Clause "New" or "Revised" License | 5 votes |
public void bundleChanged(BundleEvent event) { if (BundleEvent.UNINSTALLED==event.getType()) { synchronized(prefsMap) { PreferencesServiceImpl prefs = (PreferencesServiceImpl)prefsMap.get(event.getBundle()); if(prefs != null) { prefs.cleanup(); } } } }
Example 12
Source File: OSGiActivator.java From sis with Apache License 2.0 | 5 votes |
/** * Invoked when an other module has been installed or un-installed. * This method notifies the Apache SIS library that the classpath may have changed. * * @param event the event that describe the life-cycle change. */ @Override public void bundleChanged(final BundleEvent event) { switch (event.getType()) { case BundleEvent.STARTED: { SystemListener.fireClasspathChanged(); break; } case BundleEvent.STOPPED: { SystemListener.fireClasspathChanged(); SystemListener.removeModule(event.getBundle().getSymbolicName()); break; } } }
Example 13
Source File: Extender.java From flowable-engine with Apache License 2.0 | 5 votes |
public void bundleChanged(BundleEvent event) { Bundle bundle = event.getBundle(); if (event.getType() == BundleEvent.RESOLVED) { checkBundle(bundle); } else if (event.getType() == BundleEvent.STARTED) { checkBundleScriptEngines(bundle); } }
Example 14
Source File: PluginImageHelper.java From xtext-eclipse with Eclipse Public License 2.0 | 5 votes |
@Override public void bundleChanged(BundleEvent event) { if (event.getType() == BundleEvent.STOPPING && event.getBundle().getBundleId() == getPlugin().getBundle().getBundleId()) { dispose(); } }
Example 15
Source File: EclipseClassProvider.java From M2Doc with Eclipse Public License 1.0 | 5 votes |
/** * Constructor. * * @param context * the {@link BundleContext} * @param classLoader * the fall back {@link ClassLoader} */ public EclipseClassProvider(BundleContext context, ClassLoader classLoader) { super(classLoader); this.context = context; for (Bundle bundle : context.getBundles()) { bundles.put(bundle.getSymbolicName(), bundle); } listener = new BundleListener() { @Override public void bundleChanged(BundleEvent event) { switch (event.getType()) { case BundleEvent.INSTALLED: bundles.put(event.getBundle().getSymbolicName(), event.getBundle()); break; case BundleEvent.UNINSTALLED: bundles.remove(event.getBundle().getSymbolicName()); break; default: // nothing to do here break; } } }; context.addBundleListener(listener); }
Example 16
Source File: CXFExtensionBundleListener.java From cxf with Apache License 2.0 | 5 votes |
/** {@inheritDoc}*/ public void bundleChanged(BundleEvent event) { if (event.getType() == BundleEvent.RESOLVED && id != event.getBundle().getBundleId()) { register(event.getBundle()); } else if (event.getType() == BundleEvent.UNRESOLVED || event.getType() == BundleEvent.UNINSTALLED) { unregister(event.getBundle().getBundleId()); } }
Example 17
Source File: BundleLifecycleHandler.java From AtlasForAndroid with MIT License | 5 votes |
@SuppressLint({"NewApi"}) public void bundleChanged(BundleEvent bundleEvent) { switch (bundleEvent.getType()) { case DeviceSecuritySDK.ENVIRONMENT_ONLINE /*0*/: loaded(bundleEvent.getBundle()); case OpenBase.OAUTH_CREATE /*1*/: installed(bundleEvent.getBundle()); case StaticDataStore.SECURITY_KEY_TYPE /*2*/: if (isLewaOS()) { if (Looper.myLooper() == null) { Looper.prepare(); } started(bundleEvent.getBundle()); } else if (Framework.isFrameworkStartupShutdown()) { BundleStartTask bundleStartTask = new BundleStartTask(); if (VERSION.SDK_INT > 11) { bundleStartTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, new Bundle[]{bundleEvent.getBundle()}); return; } bundleStartTask.execute(new Bundle[]{bundleEvent.getBundle()}); } else { started(bundleEvent.getBundle()); } case StaticDataStore.INVALID_KEY_TYPE /*4*/: stopped(bundleEvent.getBundle()); case IStaticDataEncryptComponent.GCRY_CIPHER_SERPENT128 /*8*/: updated(bundleEvent.getBundle()); case IStaticDataEncryptComponent.GCRY_CIPHER_AES128 /*16*/: uninstalled(bundleEvent.getBundle()); default: } }
Example 18
Source File: Concierge.java From concierge with Eclipse Public License 1.0 | 4 votes |
/** * notify all bundle listeners. * * @param state * the new state. * @param bundle * the bundle. */ void notifyBundleListeners(final int state, final Bundle bundle, final Bundle origin) { if (syncBundleListeners.isEmpty() && bundleListeners.isEmpty()) { return; } final BundleEvent event = new BundleEvent(state, bundle, origin); final SynchronousBundleListener[] syncs; final BundleListener[] asyncs; // call the hooks, if any if (!bundleEventHooks.isEmpty()) { final ArrayList<SynchronousBundleListener> syncListeners = new ArrayList<SynchronousBundleListener>( syncBundleListeners); final ArrayList<BundleListener> asyncListeners = new ArrayList<BundleListener>( bundleListeners); final ConciergeCollections.DeltaTrackingRemoveOnlyList<BundleContext> contexts = new ConciergeCollections.DeltaTrackingRemoveOnlyList<BundleContext>( bundleListenerMap.keySet()); for (final ServiceReferenceImpl<org.osgi.framework.hooks.bundle.EventHook> sref : bundleEventHooks) { final org.osgi.framework.hooks.bundle.EventHook eventHook = sref .getService(Concierge.this); if (eventHook != null) { try { eventHook.event(event, contexts); } catch (final Throwable t) { // TODO: to log? } } sref.ungetService(Concierge.this); } for (final BundleContext removed : contexts.getRemoved()) { if(removed != this.context){ // system bundle contexts listeners always gets events for (final BundleListener listener : bundleListenerMap .get(removed)) { syncListeners.remove(listener); asyncListeners.remove(listener); } } } syncs = syncListeners.toArray( new SynchronousBundleListener[syncListeners.size()]); asyncs = asyncListeners .toArray(new BundleListener[asyncListeners.size()]); } else { syncs = syncBundleListeners.toArray( new SynchronousBundleListener[syncBundleListeners.size()]); asyncs = bundleListeners .toArray(new BundleListener[bundleListeners.size()]); } for (int i = 0; i < syncs.length; i++) { syncs[i].bundleChanged(event); } // asynchronous listeners do not get these events final int type = event.getType(); if (bundleListeners.isEmpty() || (type & (BundleEvent.STARTING | BundleEvent.STOPPING | BundleEvent.LAZY_ACTIVATION)) > 0) { return; } for (int i = 0; i < asyncs.length; i++) { asyncs[i].bundleChanged(event); } }
Example 19
Source File: MultiListener.java From knopflerfish.org with BSD 3-Clause "New" or "Revised" License | 4 votes |
/** * A listener for events sent by bundles * @param bundleEvent The event sent by the bundle * @author Johnny Baveras */ public void bundleChanged(BundleEvent bundleEvent) { String topic = null; boolean knownMessageType = true; switch (bundleEvent.getType()) { case BundleEvent.INSTALLED: topic = INSTALLED_TOPIC; break; case BundleEvent.STARTED: topic = STARTED_TOPIC; break; case BundleEvent.STOPPED: topic = STOPPED_TOPIC; break; case BundleEvent.UPDATED: topic = UPDATED_TOPIC; break; case BundleEvent.UNINSTALLED: topic = UNINSTALLED_TOPIC; break; case BundleEvent.RESOLVED: topic = RESOLVED_TOPIC; break; case BundleEvent.UNRESOLVED: topic = UNRESOLVED_TOPIC; break; default: /* Setting the boolean to false if an unknown event arrives */ knownMessageType = false; break; } /* Stores the properties of the event in the dictionary, if the event is known */ if (knownMessageType) { if(!Activator.handlerTracker.anyHandlersMatching(topic)) { return; } Map<String,Object> props = new HashMap<String,Object>(); Bundle bundle = bundleEvent.getBundle(); putProp(props, EventConstants.EVENT, bundleEvent); putProp(props, "bundle.id", new Long(bundle.getBundleId())); putProp(props, EventConstants.BUNDLE_SYMBOLICNAME, bundle.getSymbolicName()); putProp(props, "bundle", bundle); /* Tries posting the event once the properties are set */ try { Activator.eventAdmin.postEvent(new Event(topic, props)); } catch (Exception e) { Activator.log.error("EXCEPTION in bundleChanged()", e); } } else { /* Logs an error if the event, which arrived, were of an unknown type */ Activator.log.error("Recieved unknown bundle event message (type=" +bundleEvent.getType() +"), discarding"); } // } }
Example 20
Source File: BundleLifecycleHandler.java From ACDD with MIT License | 4 votes |
@Override @SuppressLint({"NewApi"}) public void bundleChanged(BundleEvent bundleEvent) { switch (bundleEvent.getType()) { case BundleEvent.LOADED: loaded(bundleEvent.getBundle()); break; case BundleEvent.INSTALLED: installed(bundleEvent.getBundle()); break; case BundleEvent.STARTED: if (isLewaOS()) { if (Looper.myLooper() == null) { Looper.prepare(); } started(bundleEvent.getBundle()); } else if (Framework.isFrameworkStartupShutdown()) { BundleStartTask bundleStartTask = new BundleStartTask(); if (VERSION.SDK_INT > 11) { bundleStartTask.executeOnExecutor( AsyncTask.THREAD_POOL_EXECUTOR, bundleEvent.getBundle()); return; } bundleStartTask .execute(bundleEvent.getBundle()); } else { started(bundleEvent.getBundle()); } break; case BundleEvent.STOPPED: stopped(bundleEvent.getBundle()); break; case BundleEvent.UPDATED: updated(bundleEvent.getBundle()); break; case BundleEvent.UNINSTALLED: { uninstalled(bundleEvent.getBundle()); break; } default: } }