Checkout Tools
  • last updated 1 hour ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 1607341 is being indexed.

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.

FELIX-4361 Applied the patch, including the suggestion from Sander Mak. Modified the existing test case to correctly terminate instead of waiting 30 seconds. Added a simpler test case that shows the problem without relying on multiple threads.
  1. … 1 more file in changeset.

- 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-4305: Fixed some javadocs. Added autoConfig(final Dependency dependency), propagate(final Dependency dependency) methods.

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-4294: Added getClassName,getServices,getServiceProperties,getId methods
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-4285: Remove abstract modifier from DependencyActivatorBase.destroy()

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.

    • ?
Removed unused import.
Modified ServiceDependencyImpl debug logging to also include the debugKey in the actual log messages.
Changed map of tracked items to a LinkedHashMap to make the ServiceTracker behavior on close more deterministic.
Aligned singleContextLog system property with naming convention of all other dm system properties.
ServiceTracker did note take the trackAllAspects setting into account in the setInitial method causing the ServiceDependencyImpl to remove rather than swap services in some occasions.
Removed unused import.