Checkout Tools
  • last updated 1 hour ago
Constraints: committers
Constraints: files
Constraints: dates
FELIX-4395: DependencyManager Configuration Dependency does not clone some class fields
  1. … 1 more file in changeset.
FELIX-4002: Fixed addStateListener method: we don't have to call any missed listener callbacks if the component is stopped.

FELIX-4002: Using the reentrant serial executor in order to fix the FELIX-4002 issue.

FELIX-3910: Back ported the new SerialExecutor from the upcoming dependency 4.0 version, and using it in the

ServiceDependencyImpl, as well as in the ComponentImpl class, especially for fixing the FELIX-4002 issue.


- Added toString() method in Tuple inner class.

- Added "void invoke(Object[] callbackInstances, DependencyService dependencyService, ServiceReference reference, Object service, String name)"

method, which can now be used by the AspectServiceImpl class.

- Added "void invokeSwappedCallback(...)" method, which can now be used by the AspectServiceImpl class.

- Use ds.autoConfig() and ds.propagate() methods instead of ds.dependencyChanged() method.

- Don't propagate added/changed/removed service properties if the events are not for us (see handleAspectAwareXXX methods).

- The invokeAdded/invokeChanged/invokeRemoved/handleAspectAwareXXX methods are now returning a boolean in order to indicate

if the callbacks have really been invoked, or have been ignored.

FELIX-4305: implements new autoConfig/propagate methods from ComponentDeclaration interface.

FELIX-4305: All aspect dependency callbacks are proxied in order to propagate original service properties modification.

Added setServiceProperties used to update current aspect service properties.

FELIX-4305: Configure adapter service dependency with "setPropagate" in order to automaically reflect

adaptee service properties modifications.

FELIX-4305: Added getServices() method, which returns a snapshot of all currently instantiated services.

FELIX-4294: Reverted the getServiceProperties() method to the previous version
FELIX-4294: Added getName method
FELIX-4294: added getClassName, getId, getServices methods. Modified getServiceProperties to return adapter service properties
FELIX-4294: added getName method
FELIX-4294: added getClassName,getId,getServices methods. renamed propertiesToString method name to appendProperties. Modified getName method.

FELIX-4294: added toString method for shell improvement
FELIX-4334: When a dependency is modified, the component "change" callback must be invoked

if the dependency service "isInstantiated()" method is true. Indeed, changed callbacks

shall be invoked even if the component is in the "waiting for required (instantiated)" state.

FELIX-3910: Renamed some methods/class attributes starting with an underscore.

Rewrote the debug logging methods from single method with m_debug check to m_debug check at all places where debug logging is done. The single method caused a performance hit.
FELIX-3910: Moved inherited m_serviceInstance attribute to this class. Made protected the getService method.

FELIX-3910: Refactored public methods with the BlockingSerialExecutor class. Made protected the getService method.

Moved all public methods at the top of the class.

FELIX-3910: Made final or volatile some class attributes, which are set from synchronized setters,

but possibly read from unsynchronized getters.

FELIX-3910: Added new SerialExecutor, which blocks other invokers while a leader is executing a task.

The executor is reentrant: when one leader executing thread reschedule some runnables, the tasks are executed directly

in the leader caller thread.

Modified ServiceDependencyImpl debug logging to also include the debugKey in the actual log messages.
Aligned singleContextLog system property with naming convention of all other dm system properties.
Removed unused import.
Small performance improvement in SerialExecutor trough preventing exceptions.
FELIX-4186: Fixed NPE in dependency manager Logger.

Improved the logging option allowing to log bad performing service lookups (filters possible eligible for indexing).
FELIX-4226 Add option to have the dependency manager log against a single BundleContext's LogService.
Added a null check since the current version fails on Java 1.7 which does not allow null additions on a TreeSet.